14 ms·
D is such a sad case of how a good technical product can fail due to poor leadership and decision making. A language is more than just a compiler, it's also an
by Kranar 3y ago
D is such a sad case of how a good technical product can fail due to poor leadership and decision making. A language is more than just a compiler, it's also an ecosystem and a community. D's community is actually very welcoming but man, watch some of the DConf videos and Q&As on Youtube and it's cringe seeing key leaders talking down to people, or dismissing people's concerns, or just have this ego about themselves like they know what's best and everyone should shutup and just go along with them.
Anyhow, D went from a language that I remember back in 2015 was often promoted on places like reddit and here as a fresh alternative to C++ that was constantly evolving, to nowadays you rarely hear anything about it at all. I think even Andrei Alexandrescu has given up on it.
Good luck to these guys on trying to bring life back to it, but frankly I think at this point most people have given up and moved on to alternatives like Rust, Nim, Zig, etc...
- guraf 3y ago[flagged]
- TheCondor 3y agoMaybe they shouldn’t bring D back to life… drop the name, make a clean break and come up with a new one.
- pstuart 3y agoLet's call it E.
- davexunit 3y agohttp://www.erights.org/ http://www.erights.org/
- rerdavies 3y agoE, F, G, and H are already taken. It's hard to say whether I is available, or un-googleable. J through W are also taken. X++ is taken, but X seems to be available. Y and Z are taken. A would be an excellent choice were it not completely un-googleable. Finally, B is a famous precursor to C.
- dragonfax 3y agoDo
- ithkuil 3y agoDew
- deleted 3y ago[deleted]
- Shorel 3y agoDigital Mars was an awesome name. OpenD is not that awesome.
- TillE 3y agoI think the fundamental problem with D is much simpler than that, it's the technical context. D is a better C++, but it's not better enough to escape the gravitational pull of C++. Rust is sufficiently compelling, with its focus on memory safety.
- LorenDB 3y agoMeanwhile Rust is noncompelling due to its syntax. It made a bunch of weird design choices (like putting class methods in separate `impl` blocks) that have ruined my chances of trying to use it for any personal projects.
- Klonoar 3y agoThat’s a subjective matter of taste.
- LorenDB 3y agoYes, but I think you'll find that many people tend to resist change, including drastic syntactic changes (as compared to how languages like D iterate on previous languages like C++).
- lifthrasiir 3y agoRust specifically changed its syntaxes to resemble C++. For example the turbofish syntax `::<T>` is actually a highly bad choice by its own, but was deemed more familiar to C++ users who are used to `<T>` (which was too ambiguous so had to be tweaked though). Even `return` was spelled `ret` back then!
- nicoburns 3y agoRust syntax isn’t really that novel. It’s not exactly like C, but most of its syntax is pulled from some popular language: some from C, some from JS, some from Python, some from ruby, etc.
- bachmeier 3y ago> Good luck to these guys on trying to bring life back to it, but frankly I think at this point most people have given up and moved on to alternatives like Rust, Nim, Zig, etc... And back in 2015, folks were saying the same thing, but with different alternative languages. I remember twenty years ago when C++ was dead. Oh, and remember the good old days when Java was dead? I'm not sure why programming language discussions always turn into quantitative statements that have no data, but fully support the commenter's position.
- IshKebab 3y agoBecause it's not very difficult to lurk on forums like this and get a pretty accurate idea of which programming languages are on the way in or out. Or look at GitHub/Stackoverflow surveys and data if you want something quantitative. I don't think many people thought C++ was dead 20 years ago; that seems like revisionism. Same with Java. People looking for a C++ replacement have definitely moved on to Rust, Zig and maybe Go & Nim. Not D. I don't see how you could seriously argue otherwise. Some languages are pretty easy to predict, e.g. Ruby is going to decline quite quickly. C++ is going to stick around for a long time because of its current enormous usage. PHP will probably stick around for a while but slowly decline like Visual Basic and Perl. Rust is going to gain in popularity for a long time and probably stick around for a very long time. Some are more difficult to predict. I'm not sure what will happen to Go or Nim for example.
- bachmeier 3y ago> I don't think many people thought C++ was dead 20 years ago Sure they did. Bjarne was in that camp. That's why C++11 came out, and the C++ of 20 years ago is dead. > Same with Java. It was very common to hear comments like "The JVM is great, but Java is terrible. Use Scala, Clojure, [language of the month]." > People looking for a C++ replacement have definitely moved on to Rust, Zig and maybe Go & Nim. Not D. I don't see how you could seriously argue otherwise. Do you have some numbers on how many moved to Zig and Nim? I'm not looking for "I've seen comments on the internet" but actual numbers. I'd expect it to be rounding error relative to the population of C++ users. And I seriously doubt the numbers would be very high for Go. But the point still stands that people have been saying this about D for a gazillion years. It might be more credible if they'd at least change the story up a bit when they say it.
- viraptor 3y ago> D's community is actually very welcoming but man, watch some of the DConf videos... Not welcoming for everyone apparently. I don't know much about D, beyond seeing a post from some dev rage quiting D every few months, due some people in the community being terrible and the leadership not stepping in to limit that.
- foresto 3y agoIf you're put off by key leaders talking down to people, I think you'll want to spend some time in Nim's forum and issue tracker before considering it as an alternative. (YMMV, of course, but I was put off by what I found.)
- ziotom78 3y agoAgreed. Nim could be perfect, were it not for its BDFL.
- auxym 3y agoFYI, some members of the Nim community are working on a fork, for apparently similar reasons as OpenD (community-led development). https://github.com/nim-works/nimskull https://github.com/nim-works/nimskull under active development and not ready for general consumption though, from my understanding.
- foresto 3y agoThanks for calling my attention to that. I'll have to keep an eye on it.
- dom96 3y agoTake it from me: I disagree with the BDFL of Nim about a lot, but him banning some of the people who are behind this fork was one of the best decisions he’s made. Stay far away.
- j-james 3y agoSome context: dom96 here was the BDFL-in-2nd-command of Nim for quite some time. There is personal beef between dom96 and some of the primary nimskull contributors, which mostly involved a lot of name-calling, personal insults, and critiques of leadership and leadership effectiveness, that eventually lead to dom96 banning one of the aforementioned contributors, stalling quite a lot of interesting compiler work and partially sparking nimskull. It's all quite boring stuff. dom96 eventually had a falling out with the Nim BDFL too (which I'm surprised did not happen earlier: the BDFL is... brusque, charitably) and so has been inactive in either Nim community because, well, obviously. But: in all my years involved with Nim, I have seen the nimskull developers to be pretty consistently great to work with? I think they handle things professionally, are not rude, and treat other's work with care (you will maybe notice they have a code of conduct exposing an explicit intent to do so). Which makes what happened between them and dom96 all the stranger in my eyes, but I was less active back then, and there is certainly context I am missing. tl;dr meh
- crq-yml 3y agoD has some great developers working on it, past and present. The thing that moved me away from it was a lack of purpose, which isn't exactly how I would have put it at the time, but in hindsight seems obvious. The way in which I'm certain that this is true is that if you had the leads try to create a Venn diagram of what the project does and what is central to it vs periphery, they would fail to agree. And if they fail to do that, they will fail to coordinate on the features. And that creates the stagnation and difficulty with contributions. As well, the reason why that failure leads to a retreat into technical digression - which I know happens out of personal experience - is because that deflects questions by adding scope. It promises an escape from the confrontation: "if I just accumulate more work, it will all come together someday". The problem is that adding scope doesn't solve the contradictions that made you retreat in the first place, it can actually deepen them by creating sunk costs. It's a bad adaptation to the challenge. If we compare it with, for example, the Niklaus Wirth approach, he would have the Venn diagram completely clear in his mind before committing to any real implementation. And therefore the language would do exactly what he wanted it to do, and it wouldn't need to be scoped into a 20-year project. Thus, he made many languages during his life, mostly of a similar flavor, but with a clear intent of adding something specific that he hadn't covered before.
- quikoa 3y agoThat reminds me of Elm. It has (had?) so much potential if it only were more open with accepting contributions.
- p0nce 3y ago> it's cringe seeing key leaders talking down to people, or dismissing people's concerns, or just have this ego about themselves like they know what's best and everyone should shutup and just go along with them. That's not the case. The job of language designers is to say "no" all the time and Walter is certainly a model with how to speak with users.
- mhh__ 3y agoI don't think Walter has ever intentionally talked down to anyone in my time, but his tone can be subtly belittling over some details. I don't think it's intentional but the argument always begins with explaining some detail as if you didn't know it existed even though you'd have to do be able to bring it up in the first place. This is not just me, I've had this discussion with a few people. One of a short list of complaints of this kind it must be said.
- jacquesm 3y agoTime will tell how the maintainers of the fork will react to similar criticism. It's very easy to stand by the sidelines as a community member and to piss on the leadership, it's an entirely different thing to be in that position yourself. Ask GvR what it feels like to herd a band of cats over a period of decades. You need to be in it for the long run and you need to be utterly dedicated to make this really work.
- jancsika 3y ago> You need to be in it for the long run and you need to be utterly dedicated to make this really work. There also has to be an escape hatch to make this work. E.g., Linus can say that the __is_constexpr preprocessor hack is the product of a demented mind, and he'll merge that absolute monstrosity thanking the contributor. As a leader you get the contributor community that you get. You can either make the development process workable for them, or you can risk the project languishing/forking. Put another way: if a leader's concept of what their project ought to be/become veers too far from what the community is actively coding up to be merged, it's not going to go well. No idea if this applies to D. But I'm absolutely certain Python's dev process has had plenty of escape hatches for resolving development issues. (And I'd guess there are also projects that have too many escape hatches, but I'm guessing that probably doesn't apply to D.)
- jug 3y agoOr Go... Or among the new kids on the block - Mojo. Heck, even .NET is pushing NativeAOT (their brand name for native code compilation) hard these days. Still with sizable gaps but closing for every new release, and you can now develop full fledged desktop apps or a web service and have it be self-contained with native code. I think .NET in particular is a harbinger for D. When even a "managed language" platform at its core goes native code, and with Microsoft's industry backing giving an entirely different angle of attack than D's minimal defense, you just know it's over. D will live on but in the way Amiga, SNES, ZX Spectrum lives on among enthusiasts.
- pjmlp 3y ago.NET has always had native support, although in various forms. NGEN, only usable for fast startup, using dynamic linking. Singularity and Midori respective C# dialects. MDIL in Windows 8.x based on Singularity Bartok compiler toolchain. .NET Native on UWP, taken from Project N, inspired by Midori's System C#. Mono AOT used by Xamarin for iOS and Android. Homebrew OS like CosmOS. Unity's IL2CPP toolchain.
- attractivechaos 3y ago> D went from a language that I remember back in 2015 was often promoted on places like reddit and here as a fresh alternative to C++ that was constantly evolving I wrote a blog post in 2012 about D [1]. In my personal experience, the high point of D was around 2008-2009. It was already declining in popularity in 2012, IMHO, due to intense clashes within the D community and the rise of Go, Rust and C++11 outside the community. D remains one of my favorite languages but I agree with you that Rust, Nim or Zig is the better choice for most programmers today. [1] https://attractivechaos.wordpress.com/2012/02/28/timeline-of-the-d-programming-language/ https://attractivechaos.wordpress.com/2012/02/28/timeline-of...
- deleted 3y ago[deleted]