Sunday 29 January 2012

History or Genesis of Java

•Before going to know about the origin (genesis) of Java let us first know about the two reasons why new computer languages are invented or why the existing computer languages change:
1) First reason is, to adapt to the changing environments and uses.
2) To implement the refinements in the art of programming.


•Java was derived from C and C++.
•From C, Java derives the syntax.
•From C++, Java derives most of its object oriented features.
•Along with the object oriented features derived from C++, Java has its own or specific features which makes it the dominant language in the programming world.

•Generally when a computer language is being developed, a trade-off is made between certain features like the following:
1) Ease-of-use versus Power.
2) Safety versus Efficiency.
3) Rigidity versus Extensibility.

•Prior (before) to C language, no programming language supported all the features mentioned before.
•If you consider FORTRAN, it was good for writing scientific applications but was not suitable for writing system applications like compliers etc..
•If you consider BASIC, it was easy to learn but was less powerful.
•Assembly language was good for writing efficient programs but was not easy to use.
•Although Pascal was easy to learn, it was less efficient.
•Another reason for developing new languages is for easily developing more and more complex languages, which cannot be done by using the already existing languages.


•BCPL (Basic Computer Programming Language) was developed by Martin Richard.
•My making modifications to BPCL a new language came into existence called B, developed by Ken Thompson.
•Finally, in 1970’s based on the B language a new language came into existence called C, developed by Dennis Ritchie.
•Since C language was developed and tested by actual programmers, it is known as a programmer’s language.


•Although C supported a lot of features and was easy to learn and write programs, again complexity came into the picture.
•It was becoming difficult to write more and more complex programs in C.
•C follows structured programming i.e entire program is written as a sequence of steps and execution follows a logical structure.
•Also, C was not efficient for developing applications which are close to the real world. Thus, C++ came into existence.


•To, reduce the complexity in programming, C language was extended with object oriented features. Thus, a new language came into existence called C++.
•C++ was initially called as “C with classes”. But latter it was renamed to C++.
•C++ was developed by Bjarne Stroustrup in 1979.
•As C++ was derived from C, it supports all the features of C.
•C++ is not a fully object oriented programming language. It is a semi object oriented programming language.


•So, what is the need for developing a new programming language Java?
•Is it complexity?
•Is it something else?


•The reason why Java was developed is, the need for writing platform-independent (architecture neutral) programs.
•Platform-independent programs means, programs that can run on any kind of CPU.
•C and C++ are not platform-independent languages.
•In 1990’s at Sun Microsystems, people were developing a programming language, for developing applications which run on embedded systems.
•Embedded system consists of both Hardware(CPU) and Software, in which the software controls the hardware.
•Examples of embedded are Micro Owens, digital watches etc.
•So, each embedded system has its own CPU. The problem is, to develop application programs which run on every CPU and produce same results.
•Thus Java was developed to solve the problem of developing application programs which can run on any kind of CPU’s in embedded systems.

•The people who laid the foundation for developing Java are:
1. James Gosling
2. Patrick Naughton
3. Ed Frank
4. Chris Warth
5. Mike Sheridan
•Initially Java was developed in 1991.
•Java was initially codenamed(called) “Oak”. Later it became Java.


•The reason why Java became popular was not because of the embedded systems. There was another reason.
•When Java was developed in 1991, there was another force which was changing the world rapidly. It was “Internet”.
•Internet is a collection of computers located at various locations which are interconnected through communication links.
•So, each computer has its own CPU and hardware. Again it was the same problem of developing platform-independent applications.
•Since Java was already developed to solve this problem , it was also used to develop programs which can run on the internet.
•Thus Java attained a wide spread popularity as a programming language because of the Internet.




No comments:

Post a Comment