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