Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

After reading this I recommend people go watch this recent interview with Bjarne[0] for some insight on the compromises taken by C++, a spot of history with regard to its development in tandem with C, and what he thinks of the 'competition' between new languages.

I think it's only fair seeing as this article accuses Bjarne of "evilly shrewd" moves, maliciously crippling Cs development, and "knocking C it in to a coma". So watch it for Bjarnes perspective from his own mouth. You may as well see get a biased view from both sides.

https://www.youtube.com/watch?v=jDqQudbtuqo



Bjarne has been on a bit of a promotion tour recently. Here is another Q&A session he did with Slashdot on the 20th [0]. I suppose this is because of the recent standardization of C++14.

One thing I don't particularly agree with is that some of his examples of C++ code use features that will not be made available for years, likely around or after 2017 when C++17 should be standardized. This is assuming compilers implement the standard quickly, which is worse on some platforms than others (cough Visual Studio cough). What I'm specifically talking about is any example that mentions concepts, but at least he is clear that concepts are only currently available in a branch of GCC.

[0] http://features.slashdot.org/story/14/08/20/011231/interview...


> What I'm specifically talking about is any example that mentions concepts, but at least he is clear that concepts are only currently available in a branch of GCC.

The syntax for concepts seems pretty well set now, and Alex Stepanov (author of the STL, and worked with Bjarne on the new concept model), in his Amazon A9 lectures (available on YouTube) recommends you simply #define concept names to "typename" so they at least exist in your code as documentation.

The most important thing however is really to get people writing their generic code with a concious awareness of what their type requirements actually are, and then to document and specify them correctly, just like you'd rightly expect a function written in C99 to specify clearly what the pre and post conditions are... something the compiler can't help you with even today.


> This is assuming compilers implement the standard quickly, which is worse on some platforms than others (cough Visual Studio cough).

If your compiler isn't tracking the standard well, don't use it. The truth is that C++14 is just got ratified now and already open source compilers have implemented most of its capabilities. Concepts are a bigger kettle of fish, but compiler makers have also had much more time to work on them, so I wouldn't assume we have the huge lag problems we used to have with standards adoption.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: