An object-oriented language originally developed at Sun by James
Gosling (and known by the name "Oak") with the intention of being the
successor to {C++} (the project was however originally sold to Sun as
an embedded language for use in set-top boxes). After the great
Internet explosion of 1993-1994, Java was hacked into a
byte-interpreted language and became the focus of a relentless hype
campaign by Sun, which touted it as the new language of choice for
distributed applications.
Java is indeed a stronger and cleaner design than C++ and has been
embraced by many in the hacker community -- but it has been a
considerable source of frustration to many others, for reasons
ranging from uneven support on different Web browser platforms,
performance issues, and some notorious deficiencies in some of the
standard toolkits (AWT in particular). {Microsoft}'s determined
attempts to corrupt the language (which it rightly sees as a threat
to its OS monopoly) have not helped. As of 2003, these issues are
still in the process of being resolved.
Despite many attractive features and a good design, it is difficult
to find people willing to praise Java who have tried to implement a
complex, real-world system with it (but to be fair it is early days
yet, and no other language has ever been forced to spend its
childhood under the limelight the way Java has). On the other hand,
Java has already been a big {win} in academic circles, where it has
taken the place of {Pascal} as the preferred tool for teaching the
basics of good programming to the next generation of hackers.
[glossary]
[Reference(s) to this entry by made by: {C++}{languages of choice}]