History of Java

The java programming language is becomingnothing for the bum.But C++ was still complex
more and more popular each day. It is thewith things like pointers, memory leak and multiple
language without which one cannot even hope toinheritence. The pointer
a land a job theseconcept was taken from C and it was very
days. But has somebody even wondered howmessy! The pointer is special type of variable
this language came about? There are manythat points to other variables. Since there was no
stories about, many books have been written.guidelines as to how to use
Here is my version (not approved by Sunthese pointers, it was very easy loose track of
Microsystems).The java programming languagethem. In a typical two thousand lines program,
originated in Indonesia. It was meant to be usedone would frequently end up with hundredes of
by the tourists that visit that country each year.pointers pointing
Why would tourists want to use computer? Well,to thousands, some of them are pointers and
these are no ordinary tourists. They are richsome just plain variables. Needless
tourists. Haveto say this made a large program extremely
they not been rich, they would not travel halfdifficult to read and when the
way around the world to visit thisprogrammer left for another company, they
place. Most people would be content to see justwould have no other choice than
what is available near by. Forto just throw away his program! It was
example, if you are a texan living in Dallas, yousometimes necessary to do this even
will visit the stockyards or may be thewhen the programmer was around and very
trinity river park. If you live in New Orleans area,much alive. This is because the pointers he
you would see st. mary'screated inside his program had taken a life of
bayou. Once in your lifetime, one will probablytheir own and defy
visit Hawaii or Niagara. Butevery attempt to predict how the program
going to Indonesia and its islands, Bali, Java, etc isshould behave.
not for the ordinaryMemory management was also another weak
people. Anyway, coming back to the questionpoint of C and C++. The programmer was
why these tourists need to useresponsible for cleaning up the memory their
computer programs. They go there not just toprogram would allocate and use.
have fun and also get some workFailure to do so will result in a crash of the whole
done in a fun atmosphere as these people arecomputer.Multiple inheritence, though sparingly
very important people.From the very start javaused, was
was supposed to be computer independent. Thatanother feature of C++ which made a
means ifprogrammer's life miserable. It, however,
you write a program in java in one computer, ithad its use, especially in job interviews. This one
should run in all computers.question, they thought,
This was necessary because tourists bring allhelped them separate the wheat from the
kinds of computers with them.chaff.But C++ still had some nice and simple
Some bringfeatures, like inheritence, encapsulation, etc. They
Windows machine, some Apple mackintosh.are something one can describe in plain english,
Some of the affluent ones bringsomething one can explain to a layman. So the
Sun server workstations or even a supercreator of java decided to take
computer.Before starting to create java they alsothe good features of inherience, encapsulation,
sought to see if there have similarand polymorphism from C++,
stuff done already. Even though they could findwhile discarding the bad features such as multiple
none, they found they can useinherience, pointers etc.
lots of feature from some existing laguages. OneThe memory management was
such language they found was C++. C++ was animproved in java where the programmer will not
advancement over the language called C. In fact,be held responsible for memory management.
ideas ofThey
C++ was already hidden in C. In that language,can clean up after themselves if they want to
one can increment a variable,get extra credit, but they do not
say i, by applying the ++ operator e.g. i++. Thisneed to. Needless to say all these was great
would increase the value ofnews to the tourists in Indonesia!Java introduced
the variable i by one. If i had a value of 5, itlot of clarity in notations too. For example, in C++
would make it 6, etc.they
What a vision!Anyway, coming back to C++, itwould say class doctor:person to mean doctor is
made an important advancement over C byderived from person.
introducing the idea of a class. To understandIt is obviously very cryptic. The same situation
class, one has to undestandcan be expressed
structure which was already used in C. Thein java as class doctor extends person , which is
structure is a group of variables.much easier to understand. But there are few
For example, you have a name, an address, ageawkward stuff in java too especially when
etc. for any person. In stead ofsomeone
using them separately, in C one can group themsays class bum extends person (my last bum
together and call it a person.joke)!Java made an important contribution in the
The creator of C++ said there is no need tographical user interface (GUI) area.
expose these variables (name, address, etc) toC++ was really lacking in expertise here. They
the outside world. They said these details shouldvisual C++, but worked only on
be hiddenwindows environment. But it did not work in
from the outside world. They called this conceptUNIX systems or mackintoshes. Just
encapsulation.Another importantlike other features of java, this was also
contribution of C++ was the concept ofsupposed to be platform independent.
inheritence. This concept can be bestThis was further necessary because one can put
explained by example. Let's go back to thesome little GUI on a web page which can be
example of the person. A person isviews over the internet. And one cannot control
very general concept. There can be manywhat kind of computers other will have.After a
different kinds of persons, e.g doctors,while, it was necessary to call programs from one
lawyers, teachers, or just a bum! But each ofcomputer to another
these people have a name, an address, age etc.computer. To do this, they created J2EE. I am
Even a bum has all these. The creator of C++not sure how they came
thought one canup with the name J2EE. The 'J' of J2EE, of
define a base class call person and other classescourse, means "Java", and I can be
can be derived from it. Inreasonably sure '2' stands for 'To'. But I do not
plain english, this would mean, a doctor is specialknow what the 'EE' part is all
kind of person, lawyer isabout, probably some kind of extension.
another special kind of person. Now the commonOr at this point they ran out of names to think
attributes of all these kinds of people can be putof. So they decided to
inhave one of those just another vague
the person class and special attributes can be putacronyms.If you would like, you can also visit my
in the derived classes, e.g.home page.
hospital for the doctor, court for the lawyer, and