By the end of 1980s, object oriented programming using languages like C++, Simula69 and ObjectPascal gained momentum. It looked like programmers finally found the perfect language. C++ successfully combined the object oriented principles of Simula with the ease of syntax and simplicity of C. However, with the rise of internet and lack of support of cross platform applications, the world would see another revolution in the world of programming.
Java was conceived by James Gosling, Patrick Naughton and others at Sun Microsystems, Inc. in 1991. Initially called Oak, this language was renamed Java in 1995. Java saw additional inputs from many people through its journey including some well known computer visionaries like Bill Joy (of C Shell and the VI Editor fame)
What made Java special was that most of the languages then were compiled natively. Hence, software on one platform did not run on any other platform. This made developing of software difficult for developers as separate version of the same application had to be written for different platforms. This problem caught Gosling's imagination and he began work on a portable, platform independent language.
About the same time, the second factor that played an important role in emergence of Java was rising. The WWW. Back then, the personal computer world had been divided into three parts: the Windows, the UNIX based, the Macintosh. Most programmers created applications for just one of the three entities. Thus the portability of the code reduced. However with the emergence of the Internet, the need for portability returned because even though there were various platforms connected to the Internet, they had to run the same program, in the same way. Thus Java came out to be the solution to this problem.
At the same time, Netscape came out with their web browser - a Mosaic based browser. It had an in-built support for Java applets. At the same time, Internet Explorer expressed its commitment to the Java platform. As the browser wars continued, the Java factor played an important role throughout the war. This made Java an overnight success. At around the same time, the Mac expressed its dedication to Java by integrating it to its core operating system.
Java derives much its syntax from C and C++. This was because the Java designers knew that using the similar syntax of C and echoing the object oriented features of C++, the language would be appealing to a wide base of programmers who were already familiar with the other two languages. Java was designed and tested by real programmers. It is hence a language grounded in the needs and experiences of people who designed it. Thus Java turned to be a language for professional programmers.
Thus Java turned out to be a language with the following features:
Simple: A person with prior experience of C and/or C++ will find himself right at home when programming on Java. If already introduced to the Object Oriented Programming concept, Java would be very easy to master.
Robust: Java handles memory management and exceptions on its own. This results in an efficient code and faster execution without program failures.
Multithreaded: Java supports multithreaded programming that allows the programmer to write programs that do many things simultaneously.