3 ms·
I haven't used it in awhile. I was quite positive on it during the D1 days when it was basically C#/Java but AoT. (I don't think Go even existed at that time).
by sirwhinesalot 3y ago
I haven't used it in awhile. I was quite positive on it during the D1 days when it was basically C#/Java but AoT. (I don't think Go even existed at that time).
The mess that were the competing stdlibs and the transition to D2 made me lose interest. I've looked at it again from time to time and it just feels too... big. It does too much.
I can get what I wanted from the D1 days with C# AoT now (it also has too many features but they have more obvious use cases and it has a much larger ecosystem).
I really don't see much use in a C++ but saner and with a GC. I'm sure someone has that use case, but not me particularly. And for the "statically typed high-level language with a GC" Java, C# and Go can do it with massively larger ecosystems backing them up.
There might be a future in the BetterC D subset or if they find a way to go after the Rust market with a more C++-like language but even for that I'm a lot more bullish on Herb Sutter's cppfront.
I honestly don't know what they can do to get a breakthrough. Walter Bright is appropriately named and there's a lot to like in D, it's just lacking a direction and an audience IMO.
- wk_end 3y agoThis matches my experience and perception. It's a language with no real core identity - every time some new language feature becomes trendy D tries to find a way to shoehorn it in. When everyone in C++-land got a little too excited about template metaprogramming and Boost, suddenly D became a language fixated on template metaprogramming. When everyone on HN got excited about Haskell, suddenly D went hard on functional programming and enforcing immutability. When Rust started picking up steam, suddenly D began rallying around BetterC, nogc, memory-safety, ownership and borrowing. Speaking personally: I tend to work best in languages which imply a particular mental schema for expression and structuring. Not that Python is always a poster-child for this, but as the Zen of Python says, "there should be one and preferably only one obvious way to do it". Ironically, by being limited a good language can get out of your way by allowing you to focus on your problem rather than exploring a massive solution space of how best to express it. For me, anyway. D isn't a language like that; it seemingly operates under the assumption that any feature must be good - if D has all the features of C++ AND D has all the features of Rust AND D has all the features of Java AND D has all the features of Haskell AND...why use all those other languages when you could just use D? It's guaranteed to have what you need! And there's certainly room in this world for languages like that - and there's plenty of them - but they're not for me.
- sirwhinesalot 3y agoD isn't wrong in turning itself into everything including a kitchen sink, because that seems to be the fate of every language that ends up popular. Python is a poster-child for this, getting more and more features and complexity as it grows, while it used to be very simple in the early days. The problem is that becoming a kitchen sink language is a result of becoming popular, and not the path there. With the exception of languages with an ecosystem tied to them (like C/C#/Swift/JavaScript, even PHP with Apache), nearly every language that got popular had a strong message behind it and focus. Even C++ started as C+Classes with zero-cost abstractions. Java was write once run everywhere. Rust was memory safety without GC. Haskell was functional programming taken to the limit. D is just a pile of features at the moment, and that's just not enough. I have the same issue with Nim to be fair to Walter.
- LargeTomato 3y agoI love python, it's my favorite language by far, but the changes I see coming through the pipeline make me feel hesitant. The language is getting more and more complicated. Having written a lot of c++ (mostly c++14/17) professionally I have suffered the consequences of what a couple decades of brilliant, well meaning people can create.
- pornel 3y agoSame here. Back when D had little competition, D1/D2/tango/phobos/dmd/gccd fragmentation decimated an already small ecosystem. D sees optional GC as the best of both worlds, but IMHO this is only another axis on which the language is fragmented, and casts doubt whether the language and ecosystem is fully committed to supporting absolutely-no-GC users. Golang has probably taken over D's GC niche, and Zig is competing with -betterC.
- pjmlp 3y agoBoth of which will be winning, because regardless of our opinions on them, I always criticized Go's lackluster type system, and Zig being a Modula-2 reborn with a C inspired syntax and metaprogramming, both of the communities do one thing remarkly great. They know where they want to go, and stand by their decisions no matter what.
- vunderba 3y agoI really don't see much use in a C++ but saner and with a GC. Isn't that what Nim kind of is?
- sirwhinesalot 3y agoYes, and I have the same opinion of Nim.