Interesting talk about language design and evolution

Nick Sabalausky via Digitalmars-d digitalmars-d at puremagic.com
Sat Sep 24 17:26:01 PDT 2016


On 09/24/2016 02:11 PM, Brad Anderson wrote:
>
> Relevant is this list of C++17 features (many of which already work in
> popular compilers).
>
> http://stackoverflow.com/a/38060437/216300
>
> I've got to admit, the D side of me is jealous of a few things on this
> list. Structured bindings, init ifs (one of those "why did it take so
> long to come up with this?" ideas), and constructor IFTI. Not sure if
> it's in C++17 yet but the stackless coroutines look nice too.
>
> The baby steps toward CTFE are welcome, of course. It appears C++ still
> has a long way to go though.

Every time I go back and look at it, C++'s evolution just seems more and 
more like "Let's do a poor imitation of D, without really admitting it, 
and without doing the real fundamental cleanups that D did and C++ still 
desperately needs."

All the work that's gone into C++ the past decade...if even half of that 
had been directed into D instead, then years ago they would have already 
been far ahead of where they are now. But they just keep building more 
and more on top their busted foundation.

C++ was already kind of a monster of a language during the period I was 
using it most (late 90's, early 2000's). Instead of improving my opinion 
of it, all of this new stuff from C++11 onward merely makes me even more 
terrified of ever going near it again, because all it does is add more 
cruft when "too much cruft" was already its biggest problem to begin with.

I don't care if the political correctness wind IS blowing against it - I 
*still* think D's biggest strength is that it's "C++ done right". That's 
what drew me to D in the first place, and that's what keeps me here.

About the "if inits": Those do seem take make a lot of sense, I've hit 
cases where it could be used, and I have zero objection to it...but it 
still seems incredibly minor to me, and it just strikes me as "really, 
C++, you have *far* better things to be focusing on then adding yet more 
syntax, just for minor benefit". Like, oh, I don't know, modules maybe? 
Compiling in under a day? And fixing up that goofy ".cpp vs .hpp" system 
where so many people honestly believe it's "implementation vs 
interface", but if you really look at it you find the *genuine* truth of 
"what goes in which file" is really far, FAR more random than that. 
Seriously, last time I used C++, I was amazed: It is INSANE how much of 
a load of BS the conventional wisdom is about header files being 
"interface" - there is a TON of implementation shit that must be in the 
so-called header. May have been true in C (if you ignore macros), but 
definitely not in C++.




More information about the Digitalmars-d mailing list