Stephen Colebourne asks a simple question, "are you scared of Java language change?" In his blog, Stephen works to debunk arguments used by many to justify their positions against making more changes to the language.
The specific arguments addressed are;
- It was designed simple
- Nothing beyond Java
- Just look at generics
- Code isn’t important
- Junior developers won’t understand this
To address the question of simplicity Stephen uses some historical information drawn from
Patrick Naughton’s mini-biography written in 1996. In that biography Patrick reveals some of the pressures the Oak team faced prior to the big release. Stephen’s conclusion;
Java's so-called simplicity is a fallacy. Language changes now are simply completing the job that was unfinished back then and meeting the realities of Java as an enterprise language
In his rebuttal to those that use the problems with generics as a call to halt changes to the language, Stephen holds out the FUD card. He recognizes that generics have many weird edge cases but states that changes that are devoid of them should be find.
Perhaps the biggest issues is the barrier to entry posed by complex language features. One could look at Stephen’s response as stating that this position is patronizing.
The issue with training and language change seems overblown. Developers are not stupid - even the junior ones or so-called Java-Joes. Every day they interact with multiple frameworks consisting of hundreds of classes which are way more complicated than the language changes being talked about.
The danger of not changing the language is that with more choice, architects that now see life beyond Java and thus move away from Java. Stephen concludes that language change will bring may more upsides.
Is Stephen right in his assessment that Java wasn’t suppose to be as simple as it was and consequently we are now only finishing the job?