On Friday, 12 October 2018 at 10:27:53 UTC, Peter Alexander wrote:

As long as D continues to be a nice language to work in for hobbyists, there will always be potential for a killer use case to come along. D just needs to make sure it doesn't piss off its fans. vibe.d happened because a single person was a fan of D. You don't need a lot of marketing for that to happen. Maybe vibe.d hasn't been the killer app for D, but the next thing might be, so you just need fans.

I periodically look at how I can make use of D for small projects. Most often, I shy away because I want to build a GUI and none of the libraries that I can find look mature and well maintained enough to put my faith in. For C++ there's Qt, which is *phenomenally* good (despite some warts), but there's been at least half a dozen attempts at creating D bindings for that, all in various states of completion/negligence.

I think that there is just no good story for D on the graphical desktop. The language would be well suited for bread and butter CRUD applications with desktop UIs and similar boring stories. These things get made, but mostly in complete isolation behind company walls. This is a kind of market that is willing to pay good money if you have a believable story about how to develop large amounts of boring, moderately complex logic with drab cookie-cutter user interfaces *quickly*. D is far from having that story. Almost all successful languages offer good solutions.

A lot of other library bindings to existing stand-out libraries are the same as the Qt bindings (with the Derelict set of bindings being a noteworthy exception!). It's a chicken and egg problem to some extent. I would want to use D to get my project done fast. But the prospect of missing or incomplete/buggy bindings consistently turns me off. I freely admit that I don't want to mess with that kind of stuff - it's really, really boring work to maintain bindings and I feel that I can put my time to use on more interesting things. Certainly, I'm not the only one who thinks that way. But on the other hand, libraries thrive best when they have a large set of dependent projects that puts them through their paces. Also, it seems to me that many library maintainers get more motivated if they see their libraries being picked up and used actively by others.

Looking back at the last ~25 years, it seems to me that the programming language market has actually been very stable or stagnant. C++ and Perl were introduced in the 90s, Java, JS, PHP and Python in the 90s, C# is one of the youngest of the big programming languages with its release in the early 2000s. Newer languages have had to stay at the sidelines for very long. The only serious new contenders are Go (Google), Rust (Mozilla) and Swift (Apple). All three of them needed a big push from a wealthy company to get where they are today and they are still in niches. Part of the stagnation is certainly because heaps of existing code that work and cannot just be thrown away and rewritten. But how big is this effect really?

Reply via email to