>The reason I embarked on D is because C and C++ were too reluctant to move forward.
I just want to take this opportunity to say thank you. While D may not taken up from the rest of the world. It has surely lived on in C, C++ and many other languages. Still wish more people would use Das C.
Do you think you will keep moving forward for the next decade or will you merge when c/cpp becomes similar enough to D ? Maybe your group still has tons of ideas that need their own space to grow.
The ideas for advancing D come thick and fast. C and C++ will never merge with D, because we have different philosophies of what makes for a great programming language.
For example, D will never have a preprocessor. Or over my dead body :-/
I see revision after revision of Standard C++, and no progress in that direction. I (along with Andrei Alexandrescu and Herb Sutter) made a proposal to add D's static if feature to eliminate the need for #if. It was vehemently rejected.
There's active work going on to add pattern matching. Just recently I completed the addition of move constructors. They are different from C++'s, and I bet they'll turn out to be much better.
D had compile time execution of functions in 2007.
Order-independent top level declarations.
Underscores embedded in integer literals. (I stole this idea from Ada, which had been forgotten. Soon after D popularized it, it became standard in other languages.)
Continue or break to labeled loop.
Fixed sizes for ints, longs, etc.
Of course, I don't know if there's a straight line here, and Zig is welcome to use any features from D that they like. But it's just interesting that things innovated in D pop up in subsequent designs.
Perl had this years before D even existed [1]. Given its earlier age and higher reach, it's likely that Perl did more to popularize the idea as well.
> Continue or break to labeled loop.
Also a feature that Perl had years before D's existence [2].
These two are the ones I immediately recognized because of my familiarity with Perl, but given the trend, I'm doubtful of the other claims as well now.
I did not know Metaware and Perl did this, as I've never used either. I know that my inspiration for it came from Ada.
I accept that Metaware and Perl did this before D. But I still claim that adoption of it in other languages came shortly after I popularized it in D, as I included it in many presentations about it.
Javascript has had this for functions since 1995. This has been part of zig from the start, not added later.
> Fixed sizes for ints, longs, etc.
this has existed in stdint.h since C99. It doesn't take a genius, only years of pain with C/C++, to realize this is the better way to do things. And also, this was in zig from the start, not added later.
> Underscores embedded in integer literals
Also in zig from the start, not added later. Others have commented on the provenance.
I could be convinced that continue/break to labels was inspired by D.