3 ms·
Your line about C++ not having enough features is cute-sounding but actually it's anti-intellectualism under the religion of minimalism. First of all, it's not
by gngeal 13y ago
Your line about C++ not having enough features is cute-sounding but actually it's anti-intellectualism under the religion of minimalism.
First of all, it's not my line, it's Rob Pike's line. Second, upon seeing how the C++ people intend to fix deficiencies of C++ by throwing even more features at it, it's very difficult to see it in any other way. Third, the only "anti-intellectualism" I see here is named C++: It's actually symptomatic of certain organizations that instead of trying to see the big picture and really fix things in a systematic way, they "anti-intellectually" hack and tweak and tinker and micro-optimize. For example, IBM has been doing that in the 1960s with their HW architectures before they got their shit mostly together, which is why the ACS project failed, only for it to be rediscovered forty years later, with modern CPUs finally (!) utilizing these ancient but very well working techniques, such as superscalar out-of-order design that will celebrate its fiftieth birthday in a few years. Now, the same breed of people who ditched ACS in the 1960s are apparently in charge of design of mainstream languages. I wonder if we'll survive the next decades in good mental health before enough people realize the same thing again, ditch that crap and start all over again.
- SamReidHughes 13y agoSo. If C++11 is so bad, how would you make a language backwards-compatible with C++ that solved many of its problems?
- csmuk 13y agoClearly he would invoke the flying spaghetti monster to intervene...
- orclev 13y agoI wouldn't. You can't build a solid structure on a broken foundation, and C++ is most definitely broken. Instead you throw it away and start fresh. The problem with C++ is it tried to combine the power of C with more advanced features while still maintaining all the low level access that C gives you. The problem with that is that it undermines all the advanced features by either allowing you to easily break them in odd ways through low level features, or else by leaking low level details all over your high level abstractions and requiring you to keep track of all those details the abstractions were meant to hide in the first place. If you want to see how to do a "low level" language better look at the approach that Rust, D and to a lesser extent Go, have taken. They borrowed from C where it made sense, and they threw away what didn't fit well. C++ kept not only the good, but the bad and ugly as well.
- kohanz 13y agoThis digression doesn't really answer the question of the OP, whether C++ is worth learning. I don't share your opinion, but even if I did, the answer would be a strong yes. A much larger quantity of important problems are being solved today with C++ than, say, Go. For employability, it's obviously worth learning (unless you're just doing web stuff). Even if you believe it's broken, it's worth learning to understand why it may be broken and to about those "mistakes" in the future.
- orclev 13y agoOK, fine, C++ is worth learning to learn what not to do, BUT, only after you've learned every other language out there. It's a waste of time to learn it before other languages because you won't have the background necessary to really appreciate how bad the language is otherwise. You might actually think it's a good language and never bother learning all the other better languages out there. Also, anything that reduces the supply of C++ programmers available for businesses to hire is probably a good thing. Fewer C++ programmers means fewer C++ programs and fewer C++ libraries, so hopefully they'll finally start writing frameworks in something other than C++.
- gngeal 13y agoI'd use a Chuck Moore reply - "I wouldn't". :-) (Why would anyone do anything so unreasonable?)