From: Timothy Madden on
Hello

As you may know export has been a controversial feature for templates in
C++, although also a somewhat promising and a much-awaited one for the
more technical programmer, that even to date has hardly received support
in compilers.

You may hear that much of the controversy started with a paper by Herb
Sutter (at Microsoft) and Tom Plum:
http://www.dkuug.dk/JTC1/SC22/WG21/docs/papers/2003/n1426.pdf
However the one company that did implement export also made an article
against it as being biased:
http://www.comeaucomputing.com/iso/promises.html

In short the point is that many reasons against export have been given,
but I find that they just do not justify the extraordinary measure of
dropping the already standard feature from the future versions of C++.

The remove proposal was rejected at previous meetings long time ago, but
on the last meeting march 2010 the majority voted for removal. They said
that EDG, the company that implemented export (with a lot of effort)
announced that they would not bother now removing it.

The main reasons I hear now against export are that it is not actively
demanded (users always have the old inclusion model), that it is costly
to implement, and that it has not been implemented.

Is there any chance now that we still have export in the new C++ ?
Are there still people interested in export ? That think it would still
be a feature ?

More interesting, are there here any companies, perhaps working with
templates a lot, that are interested in getting the export feature ?

Thank you,
Timothy Madden

--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

From: Martin B. on
Timothy Madden wrote:
> Hello
>
> As you may know export has been a controversial feature for templates in
> C++, although also a somewhat promising and a much-awaited one for the
> more technical programmer, that even to date has hardly received support
> in compilers.
>
> You may hear that much of the controversy started with a paper by Herb
> Sutter (at Microsoft) and Tom Plum:
> http://www.dkuug.dk/JTC1/SC22/WG21/docs/papers/2003/n1426.pdf
> However the one company that did implement export also made an article
> against it as being biased:
> http://www.comeaucomputing.com/iso/promises.html
>
> In short the point is that many reasons against export have been given,
> but I find that they just do not justify the extraordinary measure of
> dropping the already standard feature from the future versions of C++.
>

Both of these articles offer some insight but they are both from 2003 (7
years old). I certainly don't know current arguments and I certainly
don't use export, but probably some things have changed in 7 years.

br,
Martin

--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

From: Walter Bright on
Timothy Madden wrote:
> The main reasons I hear now against export are that it is not actively
> demanded (users always have the old inclusion model), that it is costly
> to implement, and that it has not been implemented.

Export also fails to deliver on its promises of:

1. faster compilation

2. effective obfuscation of template definition source code


> Is there any chance now that we still have export in the new C++ ?
> Are there still people interested in export ? That think it would still
> be a feature ?

No.

> More interesting, are there here any companies, perhaps working with
> templates a lot, that are interested in getting the export feature ?

None of my (Digital Mars C++) users ever even asked for it.

Since there is no realistic market for the feature, investing 3 man
years into
it (and not doing anything else in the meantime) makes no economic sense.

There are a lot of things C++ could add with far less effort that would
be far
more useful.

--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

From: Francis Glassborow on
Martin B. wrote:
> Timothy Madden wrote:
>> Hello
>>
>> As you may know export has been a controversial feature for templates in
>> C++, although also a somewhat promising and a much-awaited one for the
>> more technical programmer, that even to date has hardly received support
>> in compilers.
>>
>> You may hear that much of the controversy started with a paper by Herb
>> Sutter (at Microsoft) and Tom Plum:
>> http://www.dkuug.dk/JTC1/SC22/WG21/docs/papers/2003/n1426.pdf
>> However the one company that did implement export also made an article
>> against it as being biased:
>> http://www.comeaucomputing.com/iso/promises.html
>>
>> In short the point is that many reasons against export have been given,
>> but I find that they just do not justify the extraordinary measure of
>> dropping the already standard feature from the future versions of C++.
>>
>
> Both of these articles offer some insight but they are both from 2003 (7
> years old). I certainly don't know current arguments and I certainly
> don't use export, but probably some things have changed in 7 years.
>

Yes and one of them is that (AIUI) EDG supported the removal. I believe
that the modules proposal (postponed till the next iteration of the C++
Standard) will address many of the problems as well as making C++ more
usable by the casual programmer.

--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

From: Mathias Gaunard on
On Jul 23, 12:51 am, Timothy Madden <terminato...(a)gmail.com> wrote:

> Is there any chance now that we still have export in the new C++ ?
> Are there still people interested in export ? That think it would still
> be a feature ?

While I don't care much about export itself, the ability to
instantiate templates at link-time could be used to implement very
useful features in C++, such as virtual templates, efficient multi-
methods, and dynamic duck typing.


--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]