To simplify the task of refuting this hoax once again every time it resurfaces, I just created a new subsection on Stroustrup wikipedia article about it: <a href="https://en.wikipedia.org/wiki/Bjarne_Stroustrup#The_recurrent_rumor_about_why_C++_was_developed" rel="nofollow">https://en.wikipedia.org/wiki/Bjarne_Stroustrup#The_recurren...</a>
This week I had the opportunity of revisiting C++. I had not used it in a project in nearly twenty years and I found modern C++ an absolute joy to use. Of course it is still blazingly fast. But now I could build a complete app with no explicit memory management at all. Lamdas are a joy to use and integrate cleanly with STL and boost. Compiler error message are now much much better. Cross platform compatibility was awesome. The same program compiled cleanly with VC++ clang on MacOS and GCC on Linux cleanly. Finally there is a ton of documentation on every weird nuance of the language just a web search away. Both CPP reference and MSDN are just amazing. Overall I’m really happy with how much progress the language and tools have made.
> <i>There was this Oregon company - Mentor Graphics, I think they were called - really caught a cold trying to rewrite everything in C++ in about ‘90 or '91.</i><p>This reminded me of the very first industry conference I attended as a kid, Usenix C++ 1992, from where I seemed to recall a talk about Mentor dealing with static initializer costs. :)<p><a href="https://archive.org/details/1992-proceedings-c-portland/page/170/mode/2up" rel="nofollow">https://archive.org/details/1992-proceedings-c-portland/page...</a><p>I remembered that paper about a decade later, when a related problem came up in an interview at a company developing a new Web-oriented programming language, when they were talking technical about how they do program loading. It turned out they had indeed anticipated and/or run into that, and had a clever solution for it, and seemed impressed that I'd asked about it (thanks to the Usenix C++ paper by John F. Reiser from Mentor Graphics).
Bit OT, but I think I never had a venue for saying this in public: Stroustrup is absolutely one of the most inspiring programmers I'm aware of, think of C++ what you like.<p>Stuff like const correctness and references were way ahead of its time IMHO, and I always found his talks and writing insightful.<p>Despite the pretty insane success of his creation, and all the hate, he always seemed pretty down to earth and friendly to me - I don't know if a lot of people could have pulled that off in his position.<p>Maybe I'm missing some major flame wars or dramas, but from all I've seen and heard, a very inspiring person.
Very fun but not true, <a href="https://www.stroustrup.com/bs_faq.html#IEEE" rel="nofollow">https://www.stroustrup.com/bs_faq.html#IEEE</a>
cat-v.org, now that's a domain I haven't seen in a while.<p>Crazy how I used to agree with everything these people (and the suckless.org folks) said and now I'd strictly avoid working with anyone like that.
I try to stay away from C++ (successfully for the most part), but I <i>do</i> recommend Stroustrup's "Design and Evolution of C++".<p>It is a bit dated by now, but it is the best book on the design and evolution of any programming language in general I have come across. (<i>wink</i> If anyone knows of a serious contender, please let me know!) I wish he'd update it to reflect the changes C++ has seen since the book was first published.
I'm torn on this. Had to learn (well just the basics) c++ in school and even though I didn't really know anything I wondered if things really need to be that complicated. So I went over to the "dislike c++" group as soon as I figured out one exists. On the other hand, I really enjoyed his c++ book (there are probably many, don't know which one anymore) and from it and the few talks of his I saw I think he's really good at explaining and a good teacher.
If only people took Bjarne Stroustrup's paper "Generalizing Overloading for C++2000" more seriously and implemented it as part of the official standard, all of C++ usability and complexity problems would have been solved long ago, and C++ programs would all look beautiful and elegant.<p><a href="https://www.stroustrup.com/whitespace98.pdf" rel="nofollow">https://www.stroustrup.com/whitespace98.pdf</a>
A snapshot from October: <a href="https://web.archive.org/web/20211031161220/http://harmful.cat-v.org/software/c++/I_did_it_for_you_all" rel="nofollow">https://web.archive.org/web/20211031161220/http://harmful.ca...</a>
It's funny but honestly Stroustrup is the best language designer out there. While others abandoned their creations to make new languages, Stroustrup soldiered on and modern C++ is actually amazing. He's a working programmers language designer, not an academic.
The interview is fake, but this story isn't. Years ago, when I still had to earn living by coding in C++, I complained about C++ to a friend of mine who was a well respected university professor. He said: "I know Bjarne. He is a good guy. He didn't do it deliberately."<p>Incidentally, back then I had to write device drivers in C++ - templates, inheritance and all. To preserve my sanity, I wrote a Perl script which converted a simple text file describing device registers into the horrible C++ code sausages.
Mirror, since the link is down for me: <a href="https://web.archive.org/web/20211031161220/http://harmful.cat-v.org/software/c++/I_did_it_for_you_all" rel="nofollow">https://web.archive.org/web/20211031161220/http://harmful.ca...</a>
Modern C++ is nice to use, but there's no way I would use it for a greenfield project. Rust simply gets so many things right and saves you the CPU years you have to spend on ASan/MSan/TSan/UBSan/valgrind and fuzzing just to shake out all the bugs.
(FAKE) in the title maybe [0] as it's not 1st of April today?<p>[0] <a href="https://www.stroustrup.com/bs_faq.html#IEEE" rel="nofollow">https://www.stroustrup.com/bs_faq.html#IEEE</a>