JavaEE: programming model or application server interface?
Posted by Vincent Partington mid-afternoon: December 6, 2006
Java has been around for more than 10 years now and has accumulated a lot of unneeded stuff:
- Deprecated methods, classes and packages that are never removed,
- Packages hardly anybody ever uses (when was the last time you used javax.sound.midi?), and
- Language features that have turned out differently then we imagined:
- Packages were meant as namespaces to separate identically named classes. However, because package names are usually quite long and the average Java class import tens of other classes and we then collapse the import list in our IDE, we tend to get annoyed when an identically named class exists in multiple packages.
- The distinction between java and javax was meant to convey that javax packages were extensions to the standard class library. However, since JavaSE now contains lots of javax packages that is no longer the case.
You could call that stuff Java's vestigial structures. They served a purpose at some point during Java's evolution but have since lost their function. Unfortunately, backwards compatibility prevents us from haphazardly removing those features.
Anyway, the same has happened to the JavaEE specification.
(more...)
Filed under: Java
5 Comments