On Friday, 22 November 2013 at 14:43:11 UTC, Chris wrote:
On Friday, 22 November 2013 at 14:11:50 UTC, bearophile wrote:
Chris wrote:

E.g. one day D might implement features that have to do with what Facebook needs more than features that programmers need in general. So a module std.webshite.upload.latest.picture gets all the attention while std.reallyhandy is being neglected.

Do you know one or two cases where this phenomenon has happened to a language?

Bye,
bearophile

Good question! To be honest I cannot put my finger on any module of any language in particular. Maybe Objective-C would be an example where sometimes things would advance at breakneck pace in Cocoa, while some handy features in the standard Objective-C library (e.g. in NSString) would still be missing (but that's years ago now, I haven't used it for a while, so I dunno how it has developed).

Java is a good example of how (corporate) ideology (and management) ruins things. Everything is a class, if you don't want this, you create a class and declare static functions to turn off OOP. Well, ... You can see that people are trying to redefine Java, to come up with a better Java. Why is that? Because there is a committee that decides and won't have any criticism. So people say "Hold on, this is not really practicable, let's try something else!", and D already is the something else. What attracts me to D (among other things) is its practical approach.

Go is web-oriented, so it seems, and I'm sure it will be marketed as the "one size fits all" solution for web development, multi-core and whatnot. But D goes deeper. D raises fundamental questions about how a good program should look like, what is good / practicable. I know that this approach doesn't sell, but it's the best I've ever come across. D makes you think and re-assess your own code time and again.

What I'm saying is basically:

"D is what happens when you take language design away from the realms of the committee."
(http://www.gamedev.net/page/resources/_/technical/general-programming/what-language-do-i-use-r3318)

Later it says:

"That is to say that D would be the best of all worlds if it gained more support. It simply doesn't yet have the huge libraries of code, wealth of tools, and base of user support of the other languages. Hopefully its support will grow and it will receive the attention it deserves, but that will take some time."

The problem is that people flock to languages like Python and Java etc. because of all the tools and libraries. You can easily send an email in Python, download extensions blah blah. But people often confuse "usability" as in libraries & tools with "usability" as in program design (options), robustness and performance.

Reply via email to