On Friday, 22 November 2013 at 15:31:18 UTC, Paulo Pinto wrote:
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.
You know that this comes from the original concept of what OOP
is all about and Smalltalk, right?
There are no free functions in pure OO languages, like there
are no objects in pure FP languages.
Of course, meanwhile we have learned there are other ways to do
OO, but don't blame Java for Smalltalk concepts.
--
Paulo
I don't blame Java for Smalltalk. I just don't like ideological
constraints. As you said, we've learned that there are other ways
of doing OO, but how can people cling to things when they know
they are not good. I can't get my head around it. Same goes for
JVM. If you have JIT, why not go all the way and have the
_option_ to compile it to machine code?