Design choices affect practically every aspect in software developments, and when it comes to language design choice their influence is enormous. Danny Coware, platform lead for Java SE tackles the issues behind Java's design principals and proposals.
So what is it about code written for Java SE 5.0 - the release where we evolved the language in several ways - that makes it recognizable as the "same" Java you knew in JDK 1.2? (Only with some special sauce added.) Just like the twin headlamps of BMW cars, the original design team and successive teams have followed certain design principles for the creation and evolution of the Java language. One of the many interesting challenges for the Java language is how much to appeal to developers who additionally experiment with new dynamic languages like Python or Ruby, without having Java turn into a compromised superset of all of them. A factor in the Java language's longevity will be the relevance of the design principles we use to evolve it. If we choose wisely, these will keep us classic and yet hip for a long time to come.
Read the complete post: