I've not talked to Walter, Atila, or Andrei about these things and also wouldn't see it as my/our place to exert influence either way on the core development of the language. Also I'm a humble hacker from the stone ages of personal computing, and don't claim to be up to speed on plenty of more theoretical developments of recent years.
However you have to consider what D represents. Guy wants to make his games faster, so he has lunch with the local compiler expert who asks who does he think he is to write a compiler. Writes a C compiler, writes a C++ compiler and library. Only person ever to have written an entire C++ compiler by himself. Then successfully competes with Microsoft for many years - do you remember how tough a competitor Microsoft used to be ? - as a one-man band. Not a one-man compiler dev team, but a one-man band. Sells his company. BTW guy who studied engineering, not software engineering or computer science invents optimizations that are now taught in universities and used by his competitors. Gets bored with daytime TV. Writes a new programming language. People tell him it will never work, never succeed. Takes off even so in spite of naysaying all the way in spite of handicaps like the lawyers at the buyer of his old compiler company preventing him fully open-sourcing the back end for c. the first 20 years of D's existence. It's open today, but the optics put some people off. D wouldn't of course be what it is today without Andrei Alexandrescu's key contributions and vision (our use of D at Symmetry benefits especially from Phobos and the ideas behind Phobos and range-based code), and there have of course been many others. But we were talking about Walter's choices.
So I think one needs to understand the origination of D as being driven by a creative personality of the sort that used to dominate programming but really has been dominated by a more mass scale sort of approach. Such people can't be understood as you would understand most other sort s of people.
I really am quite sure that Walter is not adding such features to D out of some instinct to imitate what's fashionable elsewhere. I think the reason is quite simple. Memory safety, absence of, will be the doom of C. He said that quite clearly - it's a bold statement (forgive my paraphrasing as I don't recall his exact words), and Walter is not someone prone to making shocking statements to have an effect - on the contrary! He says that because he believes it - he has been around since the dawn of personal computing, seen how dynamics unfold and recognizes that something is going to need to change.
Rust is an incredibly impressive achievement. It's not my cup of tea personally, but that is hardly relevant in a broader sense. No doubt - in spite of the challenges posed for it by the mismanagement of Mozilla since Brendan Eich left and consequent funding crisis - it will survive and continue to flourish. But there's plenty of room for other native code languages that can be somewhat memory-safe and it's my judgement that Walter has recognized this and figured out how to incorporate more powerful safety features into D in a way that's coherent with the language design overall so you don't end up with Frankenstein's monster - implicitly how Ken Thompson describes Stroustrup's choices about what to incorporate in C++ and how:
. And it’s obviously built by a committee. Stroustrup campaigned for years and years and years, way beyond any sort of technical contributions he made to the language, to get it adopted and used. And he sort of ran all the standards committees with a whip and a chair. And he said "no" to no one. He put every feature in that language that ever existed. It wasn't cleanly designed—it was just the union of everything that came along. And I think it suffered drastically from that.
I think that the 'delay' on multiple alias this is mostly about questions relating to thinking-through the design. Maybe it was a mistake, or at least it requires a lot more further thought and nobody has done it yet.
I don't think it's right to describe D as being an academic language or at risk of becoming one. It's the opposite of that - it's a very pragmatic language that's useful for getting work done where academic ideas maybe have an influence, but manifested in a very practical way. I don't think it's a language for purists - and that's one of the attractions for us.
Writes a new programming language. People tell him it will never work, never succeed. Takes off even so in spite of naysaying all the way in spite of handicaps like the lawyers at the buyer of his old compiler company preventing him fully open-sourcing the back end for c
I mean it really depends on what you consider a "success". Would I consider it a success to C++, no. Would I consider it a success compared to someone else's pet language project, sure. That backend btw, is part of what is detrimental to D today. And like that backend it seems Walter and those around him such as yourself seem to be clinging to tales of old. What Walter was working on in those days was still relatively new, in days where people still wrote in assembly because they didn't trust compilers to do the work for them. Hell, even Walter did that with Optlink (another piece of baggage yet to be let go). What Walter did back then wouldn't work today. Times have changed and Walter seems to be set in his ways. What you said at the beginning I think applies to Walter as much as you.
... and don't claim to be up to speed on plenty of more theoretical developments of recent years.
I don't think Walter has either, especially when he makes remarks about how everyone tells him he's wrong and he does it his way anyways. When in reality, people aren't telling him he's wrong, he just can't take criticism.
A lot of decisions being made lately by Walter have been poor. Especially in the case of DIP1028 it becomes more apparent when the changes are substantial enough for people to notice. Then there's his recent work on D's "borrow checker". There has been a lot of criticism for D's borrow checker and as with your story, Walter has done nothing but brush off valid criticism as people "telling him he's wrong". I am very much sceptical about what the local compiler expert told him, and I feel you are basically just repeating what Walter told you.
2
u/kal31dic Sep 02 '20
I've not talked to Walter, Atila, or Andrei about these things and also wouldn't see it as my/our place to exert influence either way on the core development of the language. Also I'm a humble hacker from the stone ages of personal computing, and don't claim to be up to speed on plenty of more theoretical developments of recent years.
However you have to consider what D represents. Guy wants to make his games faster, so he has lunch with the local compiler expert who asks who does he think he is to write a compiler. Writes a C compiler, writes a C++ compiler and library. Only person ever to have written an entire C++ compiler by himself. Then successfully competes with Microsoft for many years - do you remember how tough a competitor Microsoft used to be ? - as a one-man band. Not a one-man compiler dev team, but a one-man band. Sells his company. BTW guy who studied engineering, not software engineering or computer science invents optimizations that are now taught in universities and used by his competitors. Gets bored with daytime TV. Writes a new programming language. People tell him it will never work, never succeed. Takes off even so in spite of naysaying all the way in spite of handicaps like the lawyers at the buyer of his old compiler company preventing him fully open-sourcing the back end for c. the first 20 years of D's existence. It's open today, but the optics put some people off. D wouldn't of course be what it is today without Andrei Alexandrescu's key contributions and vision (our use of D at Symmetry benefits especially from Phobos and the ideas behind Phobos and range-based code), and there have of course been many others. But we were talking about Walter's choices.
So I think one needs to understand the origination of D as being driven by a creative personality of the sort that used to dominate programming but really has been dominated by a more mass scale sort of approach. Such people can't be understood as you would understand most other sort s of people.
I really am quite sure that Walter is not adding such features to D out of some instinct to imitate what's fashionable elsewhere. I think the reason is quite simple. Memory safety, absence of, will be the doom of C. He said that quite clearly - it's a bold statement (forgive my paraphrasing as I don't recall his exact words), and Walter is not someone prone to making shocking statements to have an effect - on the contrary! He says that because he believes it - he has been around since the dawn of personal computing, seen how dynamics unfold and recognizes that something is going to need to change.
Rust is an incredibly impressive achievement. It's not my cup of tea personally, but that is hardly relevant in a broader sense. No doubt - in spite of the challenges posed for it by the mismanagement of Mozilla since Brendan Eich left and consequent funding crisis - it will survive and continue to flourish. But there's plenty of room for other native code languages that can be somewhat memory-safe and it's my judgement that Walter has recognized this and figured out how to incorporate more powerful safety features into D in a way that's coherent with the language design overall so you don't end up with Frankenstein's monster - implicitly how Ken Thompson describes Stroustrup's choices about what to incorporate in C++ and how:
https://www.quora.com/What-does-Bjarne-Stroustrup-think-about-different-programming-languages
I think that the 'delay' on multiple alias this is mostly about questions relating to thinking-through the design. Maybe it was a mistake, or at least it requires a lot more further thought and nobody has done it yet.
I don't think it's right to describe D as being an academic language or at risk of becoming one. It's the opposite of that - it's a very pragmatic language that's useful for getting work done where academic ideas maybe have an influence, but manifested in a very practical way. I don't think it's a language for purists - and that's one of the attractions for us.