Interesting Observation from JAXLondon

Gregor Mückl gregormueckl at gmx.de
Sat Oct 20 08:52:51 UTC 2018


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?


More information about the Digitalmars-d mailing list