Drop backward compatibility or stop evolving
by Shashank Tiwari
Technically his point is valid, realistically what are the millions of Java developers who build Java applications at thousands of enterprises going to do if they can't incrementally take advantage of some of the newer features? It may be possible for Ruby or even Python to radically break away from its earlier versions and start on a fresh slate because not only do they have lesser number of deployments but on an average they have programmers smarter than the average corporate journeyman.
Java has evolved from being a replacement for C++ to an all pervasive cross domain programming language. One of the primary reasons for this growth has been the abundance of features, availability of commercial and open source implementations of these features and wrapping up of these features in all sorts of APIs, with the assurance of stability.
If we drop everything and restart, won't Java be a completely new language? How would we guarantee we get everything right this time around? Which portions of Java will benefit from reinvention the most? What will we do while we are busy reinventing, knowing what we are doing is soon to be rendered obsolete -- it won't get done in a jiffy in any case?
|Since Java is Free, it could be forked a variety of ways (the forks having different names). As has happened with other projects, only the forks with real staying power and support (likely from a company or a consortium of companies) will thrive. And, of course, forks that don't support popular APIs/standards/JSRs will only be dooming themselves.|
It is possible, though difficult, to maintain legacy *functionality* while still moving forward. It is important to maintain this functionality, though, not by maintaining legacy code, but rather by re-implementing the (well-documented) functionality on top of new code.
|wake up guys! java is really duying. everybody can see that.|
|Um, first, Bruce isn't necessarily correct here, and his view may well be slanted due to joining the FLEX bandwagon. In any case he was referring only to Java-the-language and it's clear there is a lot more to Java than the language. I suppose an argument could be made to freeze java-the-language and allow all the ferment and growth and change to be made in other parts of the platform. I also agree with Bruce that the other languages which run on java-the-platform are of strategic significance.|
@David, The "Flex bandwagon"? I like that. Like Adobe Flash isn't the platform for all viable video on the internet. Wait, you work for Sun, I get it. How's the JavaFX bandwagon coming along these days?
|@Tim O'Brien: Most Java/Flex usage has absolutely zero to do with video, so I'm not sure why you brought that up. There *is* a "Flex bandwagon" right now (with good reason; the Ajax model is tricky to do well still).|
Java was not designed in mind for what it is being used now. A programming language is good for a domain when it makes the things that programmers do in a domain, easy. Currently, Java is verbose because it does not do these things well.