4 ms·
I think he's wrong for the simple reason that popular and open languages grow without bound, while unpopular languages stay elegant.
by andrewmcwatters 4y ago
I think he's wrong for the simple reason that popular and open languages grow without bound, while unpopular languages stay elegant.
- goatlover 4y agoGo would be a counterpoint. And C didn’t go the C++ route of including every language feature.
- sidewndr46 4y agoWhile I call myself literate in C++, I often chuckle when I see the latest round of C++ features in a new draft. I can write C++, but not using all the stuff introduced in my lifetime. I have no idea how anyone could ever keep up with all this stuff. The language spec just grows ever larger each year. It's just far too much. Imagine if all the authors of C++ compilers got together for an international symposium and some catastrophe struck. Like a gas leak causes an explosion and they all die tragically. I could absolutely see the language transitioning to being an anachronism. All the knowledge to actually work on the language implementation would be lost. We could still maintain existing software in C++ for a while, but eventually we'd even need to use legacy systems just to host the compilers.
- kaba0 4y agoC would really need some serious overhaul as it still can’t be used to implement even the most basics of zero-cost abstractions, like sane strings or a vector. So I’m not sure it’s a great example.
- 10x-dev 4y agoIt's certainly possible to build a compiler in C for a language that provides zero cost abstractions.
- kaba0 4y agoThe same way it is possible in Brainfuck or powerpoint — that’s just Turing-completeness and outputting a binary file.
- 10x-dev 4y agoSure, but your statement about C remains false.
- kaba0 4y agoBeing pedantic, it is either true and completely useless, xor false. Feel free to believe any of the options, it won’t make a sane vector implementation in the language possible for generic datatypes.
- 10x-dev 4y agoYour statement that C cannot be used to implement zero cost abstractions is factually false. There are no other options here. You said something that is incorrect. Edit: downvoting will not change that
- kaba0 4y agoI don’t think its popularity (other than obviously dead projects won’t get updates). ‘Growing a Language’ by Guy Steele is probably more relevant than ever here — and for all the dislike Java as a language gets, it is remarkable in how lean it remains even today, resisting the urge to add everything and the kitchen sink.