Interesting Observation from JAXLondon

Vijay Nayar madric at gmail.com
Fri Oct 12 08:05:46 UTC 2018


On Friday, 12 October 2018 at 07:13:33 UTC, Russel Winder wrote:
> On Thu, 2018-10-11 at 13:00 +0000, bachmeier via Digitalmars-d 
> wrote: […]
>> Suggestions?
>> 
>> My guess is that the reason they've heard of those languages 
>> is because their developers were writing small projects using 
>> Go and Rust, but not D.
>
> I fear it may already be too late. Go, and now Rust, got 
> marketing hype from an organisation putting considerable 
> resources into the projects. This turned into effort from the 
> community that increased rapidly, turning the hype into 
> frameworks and libraries, and word of mouth marketing. It is 
> the libraries and frameworks that make for traction. Now the 
> hype is gone, Go and Rust, and their libraries and frameworks, 
> are well positioned and with significant penetration into the 
> minds of developers.
>
> Talk to Java developers and they have heard of Go and Rust, but 
> not D. Go is
> more likely to them because of Docker and the context of The 
> Web, for which Go
> has a strong pitch. They have heard of Rust but usually see it 
> as not relevant
> to them, despite Firefox.
>
> Talk to Python developers and they know of Go, many of them of 
> Rust, but
> almost never D. C and C++ are seen as the languages of 
> performance extensions,
> though Rust increasingly has a play there.
>
> D has vibe.d, PyD, GtkD, and lots of other bits, but they've 
> never quite had the resources of the equivalents in Go and Rust.
>
> Also the D community as a whole is effectively introvert, 
> whereas Go and Rust communities have been quite extrovert. 
> "Build it and they will come" just doesn't work, you have to be 
> pushy and market stuff, often using guerilla marketing, to get 
> mindshare.
>
> D has an excellent position against Python (for speed of 
> development but without the performance hit) but no chance of 
> penetrating the places where Python is strong due to lack of 
> libraries and frameworks that people use – cf. Pandas, 
> SciKit.Learn, etc.
>
> D has an excellent position against Go as a language except 
> that Go has goroutines and channels. The single threaded event 
> loop and callback approach is losing favour. Kotlin is 
> introducing Kotlin Coroutines which is a step on from the 
> observables system of Rx. Structured concurrency abstracting 
> away from fibres and threadpools. Java may well get this via 
> Project Loom which is Quasar being inserted into the JVM 
> directly. Whatever D has it doesn't seem to be going to compete 
> in this space.
>
> D without the GC has a sort of position against Rust, but I 
> think that battle has been lost. Rust has won in the "the new C 
> that isn't Go and doesn't have a garbage collector, and isn't 
> C++, but does have all the nice monads stuff, oh and memory 
> safety mostly".
>
> When it comes down to it D will carry on as a niche language 
> loved by a few unknown to most.

In my opinion, I don't think the game is over just yet.  One of 
D's biggest strengths has been its ability to adapt and innovate. 
  Despite being around since 2001, it is still forging ahead and 
many of the new features coming out in programming languages are 
coming to fruition in D before being back-ported to other 
languages.

The D crowd is certainly very introverted and very technically 
minded, it really seems to be an amazing hub for innovators and 
compiler designers.  But the D community has also been very 
receptive of changes to the language which allows it to evolve at 
a pace few other languages can match.

My personal opinion is that languages that grow up too fast get 
stuck because they have too much legacy code and certain options 
that they may have originally wanted become unavailable.

Go and Rust are gaining traction, especially among developers 
getting tired of very hard to work with languages.  Java is very 
very slow to evolve and there's a huge amount of effort invested 
in learning other JVM languages like Scala, I think largely 
because people are looking for alternatives.

Rust, while intriguing, is very alien in syntax and concept for 
many developers.  Go gets wider adoption than other languages 
I've seen, but the race is still on in my book.


One thing that does concern me, is the avenues in which people 
can discover D.  For me personally, after a particularly nasty 
C++ project, I just googled for "alternatives to C++" and that's 
how I found D back in 2009 or so.  But the same search today 
turns up nothing about D.  I'm not sure sure how people are 
supposed to find D.


More information about the Digitalmars-d mailing list