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.

Reply via email to