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.