Andrei's list of barriers to D adoption

Chris via Digitalmars-d digitalmars-d at puremagic.com
Tue Jun 7 08:15:03 PDT 2016


On Tuesday, 7 June 2016 at 14:35:51 UTC, Ola Fosheim Grøstad 
wrote:
> On Tuesday, 7 June 2016 at 14:16:03 UTC, Chris wrote:
>> It's not like 20 years + Apple or Google behind it. Given how 
>> slowly big languages like Java have progressed over the years, 
>> one can only admire the wealth of (sometimes innovative) 
>> features D has, implemented by a small number of core 
>> developers.
>
> The problem with that reasoning is that the standard libraries 
> of languages like C++, Java and Python are less likely to 
> contain undocumented bugs. Which is more important than 
> features.
>
> The sole purpose of a standard library is to have something 
> very stable to build your own libraries upon. A large number of 
> features in a standard library is not really a selling point 
> for production work.
>
> Having a large number of independent narrow high quality 
> maintained 3rd party libraries is a selling point. The role of 
> a good standard library is to enable writing narrow independent 
> libraries that can be combined.
>
> This is an area where many languages go wrong. Basically, if 
> there is no significant demand for a feature from library 
> authors then it probably should not be added to a standard 
> library.
>
> Arcane bloat becomes baggage down the line and can even keep 
> the language itself from evolving. (breaking your own standard 
> library is much worse than breaking 3rd party frameworks)

Features are important. Templates, for example, make writing code 
in general and libraries in particular much easier.

You sound as if a wealth of features and good libraries were 
mutually exclusive. They are not. The problems with Phobos are 
not due to D's features but to a specific implementation (slow 
algorithms) - like in any other language.

When writing software, it's important to have a wealth of 
features to choose from so you can use the one that best fits the 
task at hand. You realize that when you have to use a language 
with less features, then it's repeat yourself, repeat yourself 
... It's always funny when other languages introduce a feature 
that D has had for years - after having insisted that the feature 
was unnecessary.

Java has lambdas now (since version 8, I think) and I read 
somewhere that it's not certain that Java programmers will adopt 
(i.e. use) them at all. D has the advantage that its users are 
not so complacent and actually demand and welcome new features 
and happily use them. They're not lulled into believing that this 
or that feature is useless. This is why D evolves somewhat faster 
which helps to attract users who look for something different, 
who are not happy with the status quo. At the same time this will 
forever keep the complacent and those with a herd mentality away 
and there is absolutely no way to convince them - and we 
shouldn't try to, because it's a waste of time.


More information about the Digitalmars-d mailing list