Bruce Eckel is the author of Thinking in Java.
Actually the part which I found the most fascinating is the "digression" part :)
Actually the part which I found the most fascinating is the "digression" part :)
But it turned out to be a non-event. The people who didn't want to change stayed with the earlier version of the language, and those who moved forward saw the costs and the benefits, and opted for the benefits.
Apparently Ruby is also planning code-breaking changes to the language, primarily to take out the Perl-isms (a move I heartily applaud, and one that makes Ruby that much more attractive).
And the Java designers should certainly take notice, especially because the people they are so worried about offending with language incompatibilities are still using Java 1.1 with no plans to change; they aren't even paying attention to these discussions.
In the meantime, Java continues to ossify, pursuing its endless quest to produce the perfect program through static type checking, by adding more and more. The good thing is that people are finally beginning to see that static type checking is useful in small amounts and intrusive in large amounts (although I suspect this realization won't reach the main group of Java designers for years to come).
The bad thing is that, in the meantime, we get abominations like Java "generics"; via daily use people are finally beginning to see what I tried to explain years ago -- Java "generics" are far more painful than helpful, just like checked exceptions. But I digress.
I don't have such strong feelings against generics because it make sense in a "java only" world.
Since I discovered (and understand) ruby dynamic typing, my view on typing completely changed but I doubt one can understand what it brings until you actually use it.
Static typing is just for "making the compiler happy" it just make you loose time and productivity, dynamic typing is so much more powerful but like all powerful toys you can burn yourself (put 2 different type of objects in the same var is one of the possible ways).
You should read the rest of the article: Python 3K or Python 2.9? it's really interesting!
No comments:
Post a Comment