Stopping by Gamelan to Ask Directions
This world tour of Java programs is being led by a professional who is well-versed in the hazards and highlights of Web-based travel. You'll be venturing out on your own trips soon, so it's worthwhile to stop at one of the best guides currently available for the tourist who wants to see Java, Gamelan at http://softwaredev.earthweb.com/java.
Gamelan features one of the most comprehensive directories of Java programs, programming resources, and other information related to the language. Many of the programs visited during this hour were originally found on a trek through the searchable database maintained by Gamelan. Updates are made on a daily basis, so this is another place you'll be visiting often as you develop your Java programming skills.
One of the best uses of Gamelan for programmers is to see what programs are available that offer source code. In case you're unfamiliar with the term, source code is another name for the text files that are used to create computer programs. The Saluton.java file you developed during Hour 2 is an example of source code.
Gamelan's Java Applet Ratings Service (JARS), a directory of Java applets and other resources at the Web address http://www.jars.com, often includes programs that are accompanied by the source code used to create them. After you have finished your first 24 hours as a Java programmer, you ought to take a look at some of these programs. Figure 3.6 shows the ratings service being used to search for "3D graphics" resources.
Figure 3.6 The Java Applet Ratings Service, a part of Gamelan, offers information on hundreds of Java applets and other resources.
The large number of Java programs listed in JARS shows that the language has become adopted quickly by thousands of programmers around the world. Part of the reason is that Java's popularity inspires people to learn it, which is the same principle that caused parachute pants and break dancing to be briefly popular in the mid-80s. Another reason for the swiftly growing population of Java programmers is the simplicity of the language.
One of the goals of Java's design was to make it easier to learn than C++, the language James Gosling was having fits with on Sun's smart-appliance project. Much of Java is based on C++, so programmers who have learned to use that language will find it easier to learn Java. However, some of the elements of C++ that are the hardest to learnand the hardest to use correctlyhave been removed from Java.
For people who are learning programming for the first time, Java might be easier to learn than C++ would be. Also, Java will not work if its variables and other elements of a program are used incorrectly. This adherence to rules can be painful for experienced programmers, but it forces everyone to develop good habits as they create programs.
Some languages are created to make it easier for experienced programmers to harness the capabilities of the computer in their programs. These languages include shortcuts and other features that programming veterans easily understand. Java does not use these features, preferring to make the language as simple as an object-oriented programming language can be. Java was created to be easy to learn, easy to debug, and easy to use.
Because the first experience that most people had with Java was on the Web, it is often thought of strictly as a Web-related programming language. However, Java is not limited to use on the Internet. You can use it to write any kind of software.
Java 2 includes numerous enhancements that make Java a worthy competitor to languages such as Microsoft Visual C++.
One of these enhancements is Swing, a feature that makes it possible to create sophisticated user interfaces for Java programs. These interfaces have a special feature called look-and-feel that enables a Java program to mimic the appearance of different operating systems. Programs can be written to look like Windows software, Motif software, or even Java's own look-and-feel, which is nicknamed Metal.
Sun Microsystems has put its emphasis in recent years on turning Java into a fully capable software development language no matter where the program will run.