Prev: Is there any standard/guarantees for exception safety in STL operations?
Next: Does ternary conditional operator bind the order of evaluation?
From: Timothy Madden on 22 Jul 2010 08:51 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 22 Jul 2010 19:47 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 22 Jul 2010 21:02 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 22 Jul 2010 22:29 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 23 Jul 2010 06:44
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! ] |