History of Computers - Java

From SJS Wiki
Jump to: navigation, search

By: Wren Fondren


In essense, Java is universal "talk," a computer language that is compatible with every device from low quality cell phones to the most sophisticated servers. Sun Microsystem's Java is a series of products that create a cross-platform enviroment through application software, making it possible for information such as the World Wide Web to be read by any type of computer or mobile phone. From its small-scale release on a website in 1995 to its full scale world distribution under the GNU General Public License, Java has been an integral part to the unity of today's multitude of computer systems.

Overview

In December 1990 Sun Mycrosystems asked Patrick Naughton, James Gosling, and Mike Sheridan to develop a new computing language to replace Sun's C++/C as a universal language for the next generation's smart appliances. Their project was fondly nick-named "The Green Project." [1]

In 1995 it was officially announced within Sun Mycrosystems that the Java programming had officially been created, and was soon after released on a small scale form on the website wicked.neato.org. The phenomenon quickly caught on, and before long nearly every computer device and smart device had Java downloaded and working.

JAVA-6.jpeg

Java powers more than 4.5 billion devices including: 800+ million PCs, 2.1 billion mobile phones and other handheld devices, 3.5 billion smart cards, Set-top boxes, printers, Web cams, games, car navigation systems, lottery terminals, medical devices, parking payment stations, and more. [2]

Scott McNealy: Chairman & CEO, Sun Microsystems

John Gage: Chief Researcher & Director of the Science Office, Sun Microsystems, Inc.

James Gosling: Fellow & Chief Technology Officer of Sun's Developer Products, Green Team original, FirstPerson employee, original member Java Products Group, lead engineer and key architect of Java technology

Bill Joy: Cofounder of Sun Microsystems, Inc., principal designer of the University of California, Berkeley, version of the UNIX® operating system, partner, Kleiner Perkins Caufield & Byers

Eric Schmidt: CEO of Google, former Sun Microsystems chief technical officer

Tim Lindholm: Distinguished Engineer at Sun Microsystems and a member of the Consumer and Mobile Systems Group. He is the Architect of the Java Platform, Micro Edition (Java ME, formerly J2ME), a FirstPerson employee, original member Java Products Group

George Paolini: Vice President & General Manager, Java Solutions, Borland & former Director of corporate marketing, Sun's Java Software Division

Amy Fowler: Senior Staff Engineer at Sun Microsystems, founding member of the Java Swing GUI Toolkit, FirstPerson employee, original member Java Products Group

Alan E. Baratz, Ph.D: CEO and President, NeoPath Networks, and former president of Sun's Java Software Division [3]

Programming Language

The Java Programming language is a popular language used on the comprehensive JAVA platform. James Gosling is responsible for the creation of the java programming language in 1991. He laid out 5 primary goals for his new language.

  1. It should be "simple, object oriented, and familiar".
  2. It should be "robust and secure".
  3. It should be "architecture neutral and portable".
  4. It should execute with "high performance".
  5. It should be "interpreted, threaded, and dynamic".

Features of Java:

  • platform independence: Java, unlike C programming languages, is not compiled for a specific platform; the byte code is interpreted by the Java Virtual Machine (JVM) for which ever platform it needs to be run on
  • Java Virtual Machine (JVM): the environment in which Java programs execute; executes the bytecode that the Java code is translated into when it is compiled
  • object-oriented: programs are organized as collections of objects, which are instances of classes, which can inherit from other classes in the program's hierarchy of classes
    • features of object-oriented programming:
      • abstraction: an object has characteristics that distinguish it from all other types of objects
      • encapsulation: data (i.e. implementation details of a class) is hidden and cannot be accessed by external functions; user must use an interface to access data
      • inheritance: classes can inherit from other classes; thus, an object can acquire the properties of another object
      • polymorphism: subclasses (classes that inherit from another class) of a class share some of the functionality of the parent class but can still define their own implementations/behaviors
  • multithreading: a single program can have many different threads executing simultaneously but independently
  • security: Java programs do not use pointers; i.e. programs can't access arbitrary memory addresses
  • automatic garbage collection: Java does not use an operator to free memory of objects no longer needed, for the garbage collector does it automatically, preventing memory corruption [1][2]

Significance

Java is significant in that it allows the user nearly an unlimited base to work with. It has been tested, refined, extended, and proven by a dedicated community. There are 6.5 million developers, making it the largest and most active programming language on the planet. With its versatility, efficiency, and portability, Java has become invaluable to developers by enabling them to write software on one platform and run it on virtually any other platform, create programs to run within a Web browser and Web services, develop server-side applications for online forums, stores, polls, HTML forms processing, and more. It can also combine applications or services using the Java language to create highly customized applications or services and write powerful and efficient applications for mobile phones, remote processors, low-cost consumer products, and practically any other device with a digital heartbeat. In our ever increasingly digital world, Java is indespensible to both programmers and users on all systems and it propelling the computer industry towards a more unified front in use and compatibility than it ever has been. The Java programming language, an object oriented language, is also important as a more accessible and easy to use alternative to C based languages. Java is often used as an introductory programming language and therefore is significant for helping expand interest in computers as well.

Links

http://www.java.com/en/javahistory/timeline.jsp

http://en.wikipedia.org/wiki/Sun_java

References

[1] History of Java

[2] About Java

[3] List of Significant Members of Sun Mycrosystems

  1. http://www.javabeginner.com/learn-java/introduction-to-java-programming
  2. http://docs.oracle.com/javase/tutorial/java/IandI/polymorphism.html