The Java programming language was developed in 1990 by James Gosling, who was an engineer at Sun Microsystems.  James did not like the C++ programming language, so he created a new language called 'Oak' because he could see an oak tree from his office window.  Later he found out that there was already a language called Oak, so it was renamed Java.  In 1998 it was updated to become Java 2.

Central to Java is a library of files called 'classes' that each contain ready made sections of code that you can drop into your programs.  Before you can create your programs you must have the Java class libraries installed on your computer.  These are freely available in the Java 2 Software Development Kit (J2SDK).

Why use Java?

The Java platform allows you to run the same Java application on lots of different kinds of computers and devices.

Java technology-based software can work just about everywhere. Java technology components don't care what kind of computer, phone, TV, or operating system they run on. They just work, on any kind of compatible device that supports the Java platform.

The Java platform is being built into next-generation telephones, TV set-top boxes, smart cards that fit in your wallet, and many other consumer and business devices.

Programs written in the Java programming language run on so many different kinds of systems thanks to a component of the platform called the Java virtual machine - a kind of translator that turns general Java platform instructions into tailored commands that make the devices do their work.

 

 

 

Java and Smart Cards

A smart card is a credit card-sized plastic card with an integrated circuit (IC) inside. The IC contains a microprocessor and memory, which gives smart cards the ability to process, as well as store, more information than was previously possible. A smart card can securely store large amounts of personal information on an integrated microprocessor chip in many different forms, including one identical in size and feel to a credit card, and contains far more information than a typical magnetic stripe card.

A Java Card platform-based smart card runs Java technology-based applications in the form of byte-code. These are loaded into the memory zone of the smart card's microprocessor where they are run by the virtual machine. The executable code is platform independent so that any card incorporating a Java Card technology-based interpreter can run the same application.

Multiple Java Card technology-based applications can reside on a single card, each allocated to their own secure memory areas to ensure their integrity and eliminate program tampering, either by individuals or through program interference.

As long as a card incorporates a Java Card technology-based interpreter and the application adheres to the Java Card language subset, any card can run any application -- no matter who wrote it or where it was written.

Differences between Java and C++

Java is very similar in syntax to C and C++.  This makes it very easy to pick up C or C++ after you have learned Java.  Java is a smaller and simpler language to learn than C and C++.  It is easier to use and more reliable.

In Java memory address operations are handled internally by the language.

Java does not perform automatic type conversions.  This helps to detect type errors and prevents the misuse of variables.

Java has no global variables.  Every program element must exist within a class.

Java does not support multiple inheritance.