An Introduction to Java
- JAVA AS A PROGRAMMING TOOL
- ADVANTAGES OF JAVA
- THE JAVA "WHITE PAPER" BUZZWORDS
- JAVA AND THE INTERNET
- A SHORT HISTORY OF JAVA
- COMMON MISCONCEPTIONS ABOUT JAVA
For a long time, opening a computer magazine that did not have a feature article on Java seemed impossible. Even mainstream newspapers and magazines like The New York Times, The Washington Post, and Business Week have run numerous articles on Java. It gets better (or worse, depending on your perspective): can you remember the last time National Public Radio ran a 10-minute story on a computer language? Or a $100,000,000 venture capital fund was set up solely for products produced using a specific computer language? CNN, CNBC, you name the mass medium, it seems everyone was, and to a certain extent still is, talking about how Java will do this or Java will do that. However, we decided to write this tutorial for serious programmers, and because Java is a serious coding language, there's a lot to tell. So, rather than immediately getting caught up in an analysis of the Java hype and trying to deal with the limited (if still interesting) truth behind the hype, we will write in some detail about Java as a coding language (including, of course, the features added for its use on the Internet that started the hype). After that, we will try to separate current fact from fancy by explaining what Java can and cannot do. In the early days of Java, there was a huge disconnect between the hype and the actual abilities of Java. As Java is maturing, the technology is becoming a lot more stable and reliable, and expectations are coming down to reasonable levels. As we write this, Java is being increasingly used for "middleware" to communicate between clients and server resources such as databases. While not glitzy, this is an important area where Java, primarily due to its portability and multithreading and networking capabilities, can add real value. Java is making great inroads in embedded systems, where it is well positioned to become a standard for hand-held devices, Internet kiosks, car computers, and so on. However, early attempts to rewrite familiar PC programs in Java were not encouraging—the apps were underpowered and slow. With the current version of Java, some of these problems have been overcome, but still, users don't generally care what coding language was used to write their apps. We think that the benefits of Java will come from new kinds of devices and apps, not from rewriting existing ones.