I am a self-proclaimed Java bigot, I love the language. It is eligant, easy, but yet deceptively powerful. Exactly what a language should be. It is easy to teach, easy to learn, and produces applications that are rock solid. This addresses real-world concerns, quality and cost of development and maintenance. Languages are not the only culprits here to be sure, but java goes a long way to improve these aspects.
I coded for over 20 years in C and then C++, and they are much more expensive to develop applications. The time to develop code is longer because of more complexity, the testing is longer, and so on. These languages make it too easy to make obscure, difficult to detect, problems that can raise their ugly heads in the field.
So, when it all is said and done, I would agree with any suggestion to change the language to solve REAL problems that we are having in the field. If you look at java 5, the additions to the language do little or nothing to solve the real problems we are having. For example, generics are so unusable that they are a distraction and do not add any value. They are not available to reflection, so I cant use them to discover types at run time. They add clunky syntax, make the language harder to read, etc. What was the problem they were trying to solve, type-safe collections? Ok, thats a good idea, but really anybody that uses a heterogeneous collection should re-think their design anyway. I have NEVER found a reason to have mixed class types in the same collection, ever! So, if I have to cast, so be it. I'ld rather cast than use generics.
We are using 1.5 on out current project, but have disabled the use of everything except annotations (which the jury is still out on). Guys, solve real problems and forget the syntactic wars. Listen to the people really building applications in the field and temper the language syntax and capabilities with that. We want 1.4 back!!! |