Of Zen and Computing

What is Java? A simplified look at Sun’s programming language.

Saturday, November 3, 2007
The Java logo

Java is a programming language developed by Sun Microsystems with the intention of enabling developers to build applications that work on a variety of operating system with ease.

Mac users cannot access a lot of PC software, and likewise PC users usually cannot make use of a lot of the software that was designed for Macs. Many applications built for Linux are not easy to get working on a PC. And so it goes… unless we are talking about software written in Java.

In Java, Sun Microsystems set out to create a programming language that would allow a developer build one software package, and allow anyone to easily use that software no matter what type of computer and operating system they have at home or in the office.

At the core of Java is a program called the Java Virtual Machine. The Java Virtual Machine, or JVM for short, is a program that enables an operating system to run software written in Java. The JVM pretends to be a virtual computer — Java programs pass instructions to the JVM, and the JVM turns around and hands those instructions off to the operating system (e.g. Windows, Mac OS). When the OS responds, the JVM hands that response back to the Java program.

A diagram of how Java works

Fig. 1 - A diagram of how Java works.

This three-way dialogue is what enables one Java program to work with many different operating systems. While a traditional program written in another language must understand how the underlying operating system works, a Java program doesn’t care. The JVM knows how to work with each different operating system, so a Java program need only understand how to interact with the JVM. Since the JVM works the same on every operating system, one version of a Java program is compatible with many different operating systems.

File under: Software

Digg icon StumbleUpon icon del.icio.us icon Facebook icon

Other articles related to this page

© 2006-2008 OfZenAndComputing.com
E-mail Disclaimer | Terms of Service & Disclaimer | Sitemap

Subscription Options
Search Our Archive of How-To Articles and Blog Posts