• Welcome to Valhalla Legends Archive.
 

The History of Java

Started by Hostile, November 23, 2003, 01:14 PM

Previous topic - Next topic

Hostile

Ok, no this is not a list of changes between each version.  Many people do not know/understand exactly where Java derived from.  Hopefully understanding where it came from, may help you understand what it is used for.

In short as most people know Java was developed by Sun Microsystems, Inc or for a while an operating company they started in 1996 called JavaSoft.  But before "Java" was ever in place, it was known as the Oak project.  The main objective for the creation of the Oak project which started in 1991 was to develop a language for use in programmable consumer electronics.  The Oak project notably had to be renamed from "Oak" to "Java" due to trademark issues.  Not long after JavaSoft was created, it began the process of turning the standard over to the standards body called ISO/IEC JTC1. (If you would like to look extensively into the history of this process its on the iso.org website somewhere, found under the standard ISO/IEC JTC1/SC22 JSG [Java Study Group])  This standardization later grew up to what is now maintained by the JCP, (Java Community Process, jcp.org) and is headed by representatives from companies worldwide.

For anyone familiar with Java they may have heard that it started with C++... this is true, however what you may not know is that it took aspects from many other languages as well.  As I stated above, Java was created more so off the need for a new language, rather then the goal of just an improved language they took into count all the limitations of what would be the birth of Java, C++.  Recognizing that C++ had to be compiled for a particular chip, not highly reliable and was extremely complex (keep in mind memory management, operator overloading, multiple inheritance and pointer arithmetic with the ability to crash an entire system upon misuse) they soon abandoned C++ but kept alot of syntactic similarities.
- Hostile is sexy.

Hostile

#1
Continuing on by about 1994, Sun realized that the same potential that made Java excelent for multiple platforms, also made it ideal for web applications.  So by 1995 Sun revealed both Java and HotJava, their web browser for it. (HotJava has already gone through its EOL or End of Life process due to the lack of potential to maintain a fully functional/updated web browser or in other words, the lack of a web browser with just Java support)  So what makes Java so ideal for multiple platforms? Portability.  Although to run Java you must have the Java Virtual Machine (JVM) which has to be made for each platform it runs on, since all java applications execute the same way running from a JVM it allows programmers to never have to rewrite (port) their code for each platform.  When you take this to an enterprise level and talking about years worth of code, this is a huge appeal to IT Departments and saves time and money. Here I will go over slightly more extensively the different aspects of Java.

Portable, When you write a Java application, once compiled it is turned into a binary bytecode, which for the sake of comparison is also called pseudo code.  While it is being compiled, it is turned from Java statments into intermediate machine instructions (pseudo code) and is now platform independant.  Once it is compiled into the bytecode it is then interpreted by the JVM which adds platform-specific code which allows it to run on a specific machine.

Object Oriented, Java is a greatly OO language.  Its base class is an object and rather then inserting OO extenstions onto a procedural language like Visual Basic, Java was built off OO concepts.  Everything in Java, besides primitive data types is a class, in which case there are even classes to wrap the primitive data types.  At the core of Java is a class named Object.  All classes directly or indirectly are derived from the Object class.  This includes the core Java API, extentions to the Java API, third party APIs and any of your own classes.  One thing you will gradually notice is that Java is close to a hybrid of different languages, and was made in bringing in the best characteristics from many languages.

* Hostile will finish up later.  Once again please limit questions to material already covered for the time being.
- Hostile is sexy.

Kp

Quote from: Hostile on November 23, 2003, 01:14 PM
Recognizing that C++ had to be compiled for a particular chip, not highly reliable and was extremely complex (keep in mind memory management, operator overloading, multiple inheritance and pointer arithmetic with the ability to crash an entire system upon misuse)

I must disagree with this segment.  C/C++ programs are extremely reliable, if written and tested well.  Java programs are no better or worse in this regard - an ill tested or ill written app will not be reliable.  The death of an ill designed Java application may not be as spectacular as the corresponding C app, but it will still die if the programmer was stupid/lazy (think ArrayIndexOutOfBoundsException, among many other error checks that kill the program).  The ability to crash an entire system doesn't exist in any modern OS, afaik (excluding doing something stupid like loading a buggy driver in kernel mode -- but then, I've never heard of a Java driver, so I suppose Java dodges that bullet...).  Of course, if you run an OS which uses the MMU incompetently (Win9x), it's pretty easy to nuke the whole system. :)
[19:20:23] (BotNet) <[vL]Kp> Any idiot can make a bot with CSB, and many do!

Hostile

Quote from: Kp on November 23, 2003, 01:20 PM
The death of an ill designed Java application may not be as spectacular as the corresponding C app

Yes, thats mainly what I was refering too.  No matter what poorly written code will if nothing else, crash itself.  Was mainly pointing for the unreliable part that when this does happen with Java, atmost its just the VM dying rather then atmost the entire system.


Quote from: Kp on November 23, 2003, 01:20 PM
I've never heard of a Java driver, so I suppose Java dodges that bullet

It eats you up inside when you hear that Intel has a research project going for embedded JRE/JVM, doesn't it. :p
- Hostile is sexy.

Kp

Quote from: Hostile on November 24, 2003, 12:21 AM
Yes, thats mainly what I was refering too.  No matter what poorly written code will if nothing else, crash itself.  Was mainly pointing for the unreliable part that when this does happen with Java, atmost its just the VM dying rather then atmost the entire system.

ah, ok. :)

Quote from: Hostile on November 24, 2003, 12:21 AM
It eats you up inside when you hear that Intel has a research project going for embedded JRE/JVM, doesn't it. :p

Nah, but I do wonder who convinced them to start that endeavor...
[19:20:23] (BotNet) <[vL]Kp> Any idiot can make a bot with CSB, and many do!

RolandGeron

       Thanks for sharing this information about in history of Java. I've learned a lot.


_________________
Thermostat