Implicit Evaluation with PHP

1 August 2006

History of the World, Part XII: Wherein Java covers its eyes and proclaims “You Can’t See Me!”

It astounds me, that Sun could consider implementing method delegates in Java and then reject it. While functionally, inner/anonymous classes (which Sun suggests) are equivalent to an instance method (Like the .net languages use) the example Sun conveys this message with shows just how impractical it really is. In place of a clear, straight-forward method, we are instead to do multiple inline instanciations and implementations of interfaces because Sun deemed the JVM code too hard to write or maintain.

What really concerns me, though, is that as another article comparing Java to .net I read today conveys, the two really are the same. Sun and Microsoft agree! It is simple to transform a method into an Object. Let’s ignore how Microsoft implemented method delegates, and instead question– why doesn’t Sun’s JDK implicitly preform this transformation during compilation? The answer is not a technical one. It’s ideology.

Sun desires Java to be so object-oriented that they are willing to sacrifice features that detract from that philosophy. At some point, they must, though. After all, if is not object-oriented. Perhaps Java 1.6 or 2.3 or 6.0 (however they choose to version it) will delegate if to Java.Genie.CodePathwaySelect()?

I will concede that Java (the platform, the framework, the library) has valid uses, as far as portability and application flexibility. But is there anybody in the world who genuinely likes Java-the-language, given stunted decisions like this?

No Comments currently posted.

Post a comment on this entry: