I ran across this video of Guy Steele, presenting a talk at OOPSLA '98 on programming languages of the future. It's interesting to see what was under discussion at Sun on the future of Java ten years ago.
The talk also has an interesting and amusing bent to it; give it a chance for ten minutes or so. There's a payoff, I promise.
Make visible what, without you, might perhaps never have been seen. - Robert Bresson
I'm grateful that operator overloading didn't make it into the Java. I think that's a feature that made C++ code that used it way harder to read than necessary (Except for the cases where it was used for obvious behavior, like with complex numbers. But those uses seem too few and far in between to complicate the whole language.)
Originally posted by Ulf Dittmer: I'm grateful that operator overloading didn't make it into the Java.
Yes, it can be useful in certain cases. Complex numbers is the obvious one. The other is a Money or Currency class. But other than that, I think its in general a bad idea. Its really just syntactic sugar anyway.
Doing money in floating point is a sin.
Joined: Mar 22, 2005
As a contrast it may be instructive to read Niklaus Wirth's paper From Modula to Oberon. That language evolution consisted of removing many more features than were added, yet Oberon was more powerful than Modula. It's also interesting that both Modula and Oberon had a module facility to grow the language seamlessly, so it would seem that the father of Pascal had learned a lesson.