What is Java?
Java is a programming language distinct from the markup scheme for defining hypertext, the Hypertext Markup Language (HTML). Java doesn't compete with or replace HTML, nor does it negate the work done creating content using HTML for the Web.
When it was released in the spring of 1995 by Sun Microsystems, Java unleashed a level of interactivity on the Web that had never been possible before. Java makes the Web interactive.
Java connects with HTML and the Web through a special HTML element called APPLET, which allows developers to include Java programs called applets on Web pages. These applets are essentially software programs that the user's browser downloads (automatically, as part of Web page observation) and executes. With real-time graphical input and output possible through the applet on the page, Java thus opens windows to into richer levels of interactivity and visualization.
What is the Big Deal About Java?
Prior to 1995, people and organizations had been using webs of hypermedia on the World Wide Web to communicate globally and instantly. But something was missing. The often intriguing, informative, and useful Web content was devoid of much interactivity. Some users felt that the hyperlinks on the Web just kept leading them on, until ultimately, the Web seemed like a road to nowhere: with no there there. Java potentially changes this.
Java enables developers to create content that can be delivered to and run by users on their computers. This content is in the form of software that can support anything that programmers can dream up: spreadsheets, tutorials, animations, and interactive games. With the Web page as the delivery platform, this software can support a variety of information tasks with true interactivity: for example, users can get continuous, instantaneous feedback for applications in visualization, animation and computation. Users of the Web in Java age may indeed find a there on the Web: a place to play, work, or learn.
Who is Using Java?
Many companies have made a decision to use Java as the language for their software development. As the first interactive language for the Web content, Java got a good head-start, resulting in a good base of experience and skills among programmers. With Sun Microsystems' committment to Java, it looks like Java is a good choice for Internet content development.
My Opinion of Java
I was very excited about Java when it was released in the spring of 1995. I spent the summer of 1995 writing the first published Java book and, in it, I was enthusiastic with my first experience of Java. I saw so much potential.
Yet today, I see results with Java that are far, far less than what I had imagined. More than two years from its invention (two years is aeons in Internet time), Java really isn't used as extensively as I thought it would be. I think the reasons for this lie not in the language--it is actually a very good language. Instead, I think these issues have held Java back:
- Many Web developer's lack the skills to create useful interactivity in Web pages. Java is a software language--it is not something that a person can pick up as easily as HTML. Java requires a solid understanding of object-oriented development methodologies and implementation practices, besides good software engineering skills. And since Java is used to create interactivity on Web pages, developers need to know about human-computer interface design. And since Java can be used to mediated human communication (in groupware, for example), developers should understanding computer-mediated communication issues. What this means is that someone who wants to do serious Java development should be a specialist. Amateur users can learn Java in 14 days and create "toy" applets, but the level of their work would be far below the power and potential of Java itself. My feeling is that it is a tragedy that few people realize this distinction and instead dink around with silly animations and toy applets on their pages and believe they are creating "interactive content."
- Java class libraries are just coming into existence. The raw Java Developer's Toolkit that Sun provides for free shouldn't be the basis for serious Java development--this is like starting to build a car using molten metal, plastic, and glass to create the screws, parts, and mechanisms that will make up the components. Instead, Java developers need to stand on the shoulders of giants and start building serious, complex applications using components and subsystems, not raw materials.
I think in the long run, Java is a good choice for development. I think the advances in Java compilation and run-time support in the latest versions of Web browsers should support a more pleasing experience for users of Java applets. I think that, in several years, developers may eventually grasp the importance of Java as a bridge of human communication online. I think then we'll begin to see the potential of Java.
Information Sources for Java
- Sun's Java Site: the definitive place to get Java and learn about it; from the inventors of Java, Sun Microsystems.
- Gamelan: the best directory of Java Applets and information. Visit here for many examples of Java in use.
- Java Information Sources: my annotated list of the best information sources about Java.