Java is an object-oriented, cross-platform programming language that is used to create stand-alone applications, mostly used by Web sites, that have the capacity to run animations and promote interactivity. Unlike other object-oriented languages, Java code can run across varying equipment designs, and unlike C++, it is multithreaded, able to execute multiple processes simultaneously.
Java is considered to be the first programming language that is independent from both the operating system and the microprocessor. Most computer languages translate their programs into binary code, zeros and ones, using a complier; the resulting program can be run only by a specific operating system. Java’s executable code does not require constant contact with a server to execute its script, and does not need to be translated by separate compilers. Java programs do not need to be rewritten when operating systems are updated or new hardware is installed, because their actions are contained within their scripts, not tied to the hardware or software being used. This makes Java virtually universal across Web browsers and platforms. Java is therefore used to create Java Applets that give Web browsers the capability of displaying interactive programs as well as animations.
In 1990, Sun Microsystems initiated the Green Project, whose goal was to create a new language that would be easier to program and run across a vast array of household appliances such as toasters, TV cable boxes, and lamps. This language would enable all of the appliances to communicate with each other as well as be controlled by a single remote device. The result was the 1991 creation of a language called Oak, named for the tree that grew outside programmer James Gosling’s window. By 1992, a prototype system was built called *7 (pronounced “star seven”), using the Oak language. *7 was a handheld device that operated via touch screen, and was able to share information with other devices. The successful use of the Oak language within this prototype allowed for the continuation of the project and its integration into a commercial team called FirstPerson, Incorporated.
First Person tried to market its new Oak programming language to Time-Warner for its set-top cable television boxes in 1993, but lost the bid. It continued to pursue selling its language in an effort to advance interactive television, but gave up in 1994—around the time that Marc Andreessen’s Netscape Web browser was becoming a major phenomenon.
The World Wide Web was the perfect medium for Oak, because the language could run on multiple platforms, and could safely run Oak-based programs on users’ computers from a Web page that contained the Oak script rather than from the server. Using Oak code, Sun Microsystems developed its own Internet browser called WebRunner. However, before the Oak language or WebRunner could be marketed in 1995, Sun changed Oak’s name to Java—a move credited to Sun project manager Kim Polese—and WebRunner’s name to HotJava, because the original names conflicted with already-established trademarks. Netscape quickly bought licensing rights to Java in 1995, and included Java beta support in its Navigator 2.0. The company showcased Java’s capabilities to the general public on its own homepage by writing Java programs that brought animation and interactivity to the site. Microsoft’s Internet Explorer was not so quick to allow Java onto its systems; Sun had to sue before Microsoft would allow its browser to run Java.
Before Java, the Web was seen mostly as a oneway communication medium. Users would go to a static Web site, view the page, go to another site, view it, and so forth. The introduction of Java to Internet browsers added interaction and animation within the Web site through small, self-contained programs written using Java, called Java Applets. These small programs run over the Web, allowing stock tickers and countdown clocks to continue to receive updated information while the user is on the site. Interactive programs such as forms used to collect data and user feedback, and online entertainment such as crossword puzzles, video games, and sounds, have all benefited from the Java programming language.
When a user goes to a Web page that calls for a Java Applet, the appropriate applet is loaded directly onto the user’s computer from the centralized network server where they are stored. These applets run automatically, using memory from the user’s computer and not the server, and also allowing multithreading to occur. The user does not actually give permission for the program to download onto the computer; in light of the number of viruses that are spread through downloading programs onto desktop computers, Java Applets must pass through several levels of security.
First, Java programs are written and compiled into several bytecodes, instructions for running the program on different machines. A Java Virtual Machine (JVM), which is located on a user’s machine within major Web browser software, processes these bytecodes. The JVM checks the Java code for any violation of user security before allowing the code to be downloaded. If security is breeched, the Java Applet will not be deployed.
The Java code used to write applets is not capable of reading or writing information to a local file system, nor can it be used to list directory contents, or to create or rename files. While this limitation is beneficial for user security, programmers that wish to read or write files, store data, process it, and return it cannot do so using just a Java Applet. Users are also at a disadvantage if they are using 16-bit computers rather than 32-bit, and are unable to print any outputs done by Java Applets.
However, the advantages of using Java code to write executable mini-programs outweigh its disadvantages. More than one applet can run at once, and other Internet features such as file transfers, downloading, and scrolling through Web pages can be utilized without upsetting a running Java Applet.
Java continues to be revised and updated by Sun, and integrated into a variety of applications. With an increase of Java users and programmers, Sun has decided to return to Oak’s original goal and integrate Java into household electrical products such as telephones. It is also applying Java to speech recognition and speech synthesis projects, and to creating picoJava, a tiny chip that can deploy Java programs that will not require the aid of a central processing unit. Furthermore, handheld Internet appliances, cellular phones, and PalmPilots are now using Java Applets through Internet connections that expand their capabilities from surfing the Internet and email access to include word processing, database manipulation, and checkbook balancing.
Internet Appliances; Object-Oriented Programming
Related Credo Articles
A cross-platform, object-oriented programming language created by Sun Microsystems. Java enables programmers to write software that will...
A general purpose, high-level language (HLL) which is: not platform or operating-system sensitive, yielding...
A general purpose, high level language (HLL) which is: not platform or operating-system sensitive, yielding ‘write-once-run-anywhere’ code ...