Java Essay, Research Paper
Java is the substance whose aroma is awakening the Internet community.
It is a new programming language developed by Sun Microsystems that has
much in common with the beverage that shares its name. It’s good, it’s
hot, and people know it around the world. Java (the programming language)
beats the other stuff hands down though, it’s free. Many have heard of
Java, yet few know what it is, or what it can do. It certainly has the
potential to become a part of our everyday lives, existing in our mobile
phones, televisions, and Internet browsers. If you are interested in your
future read on.
Java is still in its infancy stage, yet to fulfil its intended
purpose. Designed in 1990 as an embedded language for consumer
electronics, it was later discovered to be an ideal interface to the
Internet. In 1996, Netscape added Java support to its popular Navigator
Web browser. The Web began to stir from its static text coma as excited
programmers began to incorporate Java applications, “applets”, into their
Web pages.
An applet is like an application, but it doesn’t run stand-alone.
An applet must adhere to a set of conventions that allows it to run within
a Java-compatible browser. The technology is still evolving, and today,
most Java applets are simple animations, or user interactions. The future
is brighter, promising full-blown applications over the Internet; imagine
using Microsoft Office from your television. For now, though, those who
have experienced an applet may be left disappointed. A casual user is
unlikely to be impressed with scrolling text, or simple animations,
especially if they must pay for them with increased download times.
Behind the scenes, unbeknownst to them, truly amazing things are
happening.
A Java applet begins its life by being “called” by a Web page. To be
technologically correct, the applet is embedded in the Web page. The Web
browser then downloads the applet and runs it on your machine. If you
just missed the amazing part: it runs on your machine. How can a program
from an unknown source be trusted to run on your computer without your
permission? It can’t unless that program was created using a secure
language like Java, and then wrapped with a secure viewing browser like
Netscape Navigator. The concept of being able to run applications on your
system is significant for several reasons. If you want to see a picture,
but don’t have a picture viewer, you can get both at once. This
eliminates the problem of not having the correct helper application or
even worse: having to settle for what’s available. The ability to run
applications on your system has another significant advantage.
Traditionally when you view something that “runs” on a Web page, or is
interactive, the work takes place on the remote computer, not yours.
Java frees Internet resources, allowing the work to take place on the
client’s system rather than the server’s.
If all applications were run on remote computers, the servers would be
inundated with traffic, and these collectively would propagate to bring
the entire Internet to a grinding halt. With a growing Internet
population, the prospect of this
can be done safely, isn’t it quicker, not to mention more considerate, to
get what you need, take it with you, and use it on your time? A good
analogy is a long bank queue, with everyone waiting for the person in
front of them to finish. Some will be quick, and others will attempt a
hostile takeover on your lunch hour. Imagine a different world where
tellers were issued at the bank. Instead of waiting for a teller to
become free, you could simply take the teller you require from an almost
endless supply, then complete your transaction without delaying the people
behind you. You would only have to wait in line to get a teller. If the
bank got hundreds of new customers every day, would there be any other way
to do it? The issue of security would still have to be addressed. Away
from the work environment, how could you trust the teller you got? The
bank manager wouldn’t be around to oversee her. You would have to put her
in a sandbox.
A sandbox is the name given to the concept of setting the
boundaries in which a Java applet can “play”. A Java applet cannot look
at arbitrary files on the machine it’s running on, or have unauthorized
access to system resources. It can’t introduce a virus or other malicious
logic, delete critical files, or gain access to your passwords unless you
allow it to. It is security measures like the sandbox that make Java much
more than just a new programming language. Meet Java, the run-time
environment.
If Java were just another programming language, the industry would have
greeted its introduction with a resounding yawn. What makes Java
intriguing is that it is also a runtime environment embodied in what is
called a virtual machine (VM). This VM sits, in essence, between the Java
program and the machine it is running on, offering the program an abstract
computer that executes the Java code and guarantees certain behaviors
regardless of the underlying hardware or software platform. Java compilers
thus turn Java programs not into language for a particular machine but
into a platform-neutral byte code that the machine-specific VM interprets
on the fly1. A Java compiler is like a translator who translates a
language to a common ground like English. Since English is known around
the world, specific translators, like the VM, are able to translate
English into the language specific for their country. With so many
different computers connected to the Internet, platform independence is
necessary.
Java has been thrust into the spotlight with its new language built on the
core values of security and platform independence. Sun Microsystems has
promised a “Write once, run anywhere” language suited to an Internet
community comprised of a smorgasbord of different computer, hardware, and
software configurations. The power to write programs that run on most
everyone’s computer is revolutionary. For Internet applications, though,
the value of platform independence degrades exponentially without strict,
built-in security. Java provides this security, and has the power to
change the way we compute.
1 PC Magazine: Your Guide to Java for 1998 — Your Guide to Java for 1998 4/7/98