5 ms·
I would strongly recommend you browse and maybe contribute in the Dlang forum https://forum.dlang.org/ https://forum.dlang.org/ , to build your own opinion, the
by systems 9y ago
I would strongly recommend you browse and maybe contribute in the Dlang forum https://forum.dlang.org/ https://forum.dlang.org/ , to build your own opinion, the forum is very friendly and welcoming for beginners
Some of the prevailing opinions on why D didn't succeed
- Garbage collection, D has a GC, and for a very long time it seem to have been positioning itself as a C++ replacement, having a GC, seem to have hurt D more than it benefited it, in this regard
- D vs D2, the current Dlang is actually as I understand D2, moving to a new version that is not fully backward compatible seem to have at least in the past scared away some possible adopters, this seem to be no longer the case, there is only one D now, and this might be a case when lack of popularity was helpful
- licensing issues, I really dont know much about this, but there was some licensing issue surrounding the main D lang implementation DMD, which was also resolved recently
The above 3 points, are what I would call the "prevailing opinions"
Two of them are now fully resolved and only the first one GC , is a work in progress ... once its resolved, and it seems they are working on it ... there will be no excuses
What I personally believe, after lurking in their forum for a while
- D, doesnt have a good product owner, it lacks vision, and it have no competitive advantage
- Walter Bright and Andrei Alexandrescu, are super smart developers, but in my humble opinion ... very bad Product Owners, and just to support my opinion, before anyone gets angry at me ... we all agree D is not popular, so ... this is just a statement of the obvious
- Strategic advantage is a key word here, D have none, and again, the Strategic is a key word here, even if some will list for you the advantages of D, none of them is Strategic
With all I have said, dont let this stop from learning D, I do plan to learn more of it, and while I don't see D taking over from C++, Go, OCaml or Python ... I think it might be a good tool for small teams, who don't want to be fragmented across many languages
- le-mark 9y agoTo me it seems like there are three broad categories of applications one would use D to implement; network services (ie servers), gui apps, and "other" such as compilers or command line tools. IMO go has won for writing servers; it's incredibly compelling, it has it all (except generics, as someone will surely interject); crypto, ships with easy to use protocol impls (ie http, websocket, etc). The gui lib story for D isn't clear to me at all. Are there bindings to gkt or qt for example? Maybe someone can respond here about that. That leaves "other" which, sure, D seems like a great option.
- systems 9y agofor GUI, there is gtkD, I havent used it myself, but it seem to have good reviews https://gtkd.org/ https://gtkd.org/ and there is DlangGUI https://github.com/buggins/dlangui https://github.com/buggins/dlangui and for web development check vibe.d http://vibed.org/ http://vibed.org/
- bachmeier 9y agoYou forgot the one for which D is best suited: scientific/numerical computing. It produces fast code, it is used by small teams/single developers, it integrates well with C, and much of the work is interactive, requiring fast compilation times.
- stochastic_monk 9y agoI think part of the problem is that D isn't as good as Python for scientific/numerical computing, and that people doing Python for it will typically drop to C++ when they need that last boost.
- bachmeier 9y ago> I think part of the problem is that D isn't as good as Python for scientific/numerical computing I realize that some hold that opinion but I and many others don't. > people doing Python for it will typically drop to C++ That's something you don't need to do if using D. It's also the biggest selling point of Julia.
- CJefferson 9y agoThere was also the whole issue with two independent standard libraries. That scared me off.
- qznc 9y agoA more recent argument against D is "no good IDE support". Current state: https://wiki.dlang.org/IDEs https://wiki.dlang.org/IDEs