|Java menu knowledge base|
What is java?
This small article is aimed at web designers who are (mostly) non-programmers
and who wish to use 3rd party applets rather than create their own. It sets
out to define java from the non-specialist's perspective and guard against a few
If you are a web designer in this position, the more important question is "what can java do
for you?" (click here for the answer). The article below provides
a little theory rather than practical information.
Java is a programming language just like any other
(e.g. Basic, C, C++), with the following distinctive characteristic:
it was developed for networks - especially for the internet and
other large networks where different kinds of computer are connected
together. To make it better at using networks than other languages,
it is (i) compatible with different operating systems, and (ii) can be
condensed into extremely small packages for quick network transfer.
Java can be divided into: applets, servlets, beans and applications.
Applets are perhaps the most familiar face of java.
Applets are tiny programmes that can be embedded into a web page to
produce startling effects and interactivity. They don't run on the
web server - they are downloaded to the visitor's own computer and run
using the site visitor's CPU and memory (known as the "client"). In
theory a programme running on the client in this fashion could be a security
hazard (it could remove, copy or write files, for example), so applets
are strictly controlled by a security manager which prevents them doing
a lot of things most programmes can do. For example, applets aren't allowed
any kind of access to the client's file system, nor can they send any
information elsewhere unless they are explicitly allowed to do so.
Servlets are a bit like applets except that they run
on the server, not the client. In practice this means they are suitable
for quite different kinds of operation, and you don't see them on
web pages (they lurk behind web pages instead!).
Beans are not complete programmes at all. They are an
outgrowth of the idea that java should be extremely portable and versatile.
Beans contain just single elements of a programme, and can be
incorporated by different people into different java programmes. This
saves time on development, and allows good ideas to spread quickly and
Applications are more like "normal" computer
programmes. They are usually bigger, and can only run on one computer.
They have nothing to do with web pages and HTML. Theoretically your
word-processor, web browser and favourite games could all be programmed
in java. The advantage if you did this would be that the same files
would run on Windows, Mac, Linux, etc. With other languages, you need
different versions for the different operating systems.