Curriculum
Course: Learn Java Programming
Login

Curriculum

Learn Java Programming

Text lesson

Overview of Java

In this lesson, you will learn.

  • What is Java
  • History and Evolution
  • Java’s Lineage
  • Why Java is Created
  • Role of Java in Internet

 

What is Java

Java is an object-oriented programming(oops) language and the platform developed by James Gosling and his team at Sun Microsystem in 1991 and later(Jan 27, 2010) acquired by Oracle.

 

James Gosling

 

Platform

Any hardware or software environment in which a program runs is a platform.

Since Java has its run-time environment i.e. Java Runtime Environment (JRE) and Application Programming Interface(API), it is called a platform.

 

History and Evolution of Java

Here’s a brief overview of the evolution and history of Java:

Origins (1991-1995):

  • Java was developed by James Gosling, Patrick Naughton, Chris Warth, Ed Frank, and Mike Sheridan at Sun Microsystems, Inc. in 1991.
  • It took 18 months to develop the first working version.

 

Java 1.0 (1995):

  • This language was initially called “Oak,” but was renamed “Java” in 1995.
  • It included many features like the “Write Once, Run Anywhere” (WORA) principle, which allows Java code to run on any device with a Java Virtual Machine (JVM). This was a revolutionary concept at the time.

 

Java 2 (J2SE, J2EE, J2ME) – Late 1990s:

  • Java 2, released in 1998, brought significant enhancements and introduced three editions:
  • Java 2 Standard Edition (J2SE), Java 2 Enterprise Edition (J2EE), and Java 2 Micro Edition (J2ME).
  • J2SE focused on desktop applications, J2EE on enterprise applications, and J2ME on mobile and embedded systems.

 

Java Community Process (JCP):

  • JCP was established in 1998, where CP allows developers, organizations, and other stakeholders to contribute to the development of Java specifications and APIs.

 

Open Sourcing (2006):

  • In 2006, Sun Microsystems released the Java Development Kit (JDK) under the GNU General Public License (GPL), making Java open-source.
  • This move aimed to encourage community involvement and foster broader adoption.

 

Oracle Acquisition (2010):

  • Oracle Corporation acquired Sun Microsystems in 2010, gaining control of Java.

 

Java 7 (2011) and Java 8 (2014):

  • These versions brought significant language improvements, including the introduction of lambda expressions, the Stream API, and the java.time package for improved date and time handling.

 

Java 9, 10, 11, 12 (2017-2019):

  • These releases focused on modularization (Project Jigsaw), local-variable type inference (var), and ongoing improvements to the platform.

 

Java 13, 14, 15, 16 (2019-2021):

  • These releases continued the trend of introducing new features and improvements, including enhancements to the garbage collector, pattern matching, and records.

 

Project Loom and Valhalla:

  • These are ongoing projects (as of my knowledge cutoff in January 2022) that aim to further enhance Java by introducing features like lightweight concurrency (Loom) and value types (Valhalla).

 

Java’s Lineage

Java is related to C++, which is a direct descendant of C. Much of the character of Java is inherited from these two languages i.e. C and C++.

From C, Java derives its syntax. Many of Java’s object-oriented features were influenced by C++.

Due to similarities between Java and C++, it was mostly considered the internet version of C++.  C++ indeed influenced Java, but not an enhanced version of C++.

 

Java has significant practical and philosophical differences. In the upcomming lesson, you will learn difference between Java and C++.

 

Why Java is Created?

The original impetus for Java was not the Internet. Instead, the First and primary motivation was the need for a platform-independent (that is, architecture-neutral).

The trouble with C and C++ (and most other languages) is that they are designed to be compiled for a specific target, which means platform-dependent.

In an attempt to find such a solution, Gosling and others began work on a portable, platform-independent language that could be used to produce code that would run on a variety of CPUs under differing environments.

This effort ultimately led to the creation of Java.

This second force was, of course, the World Wide Web(WWW) i.e. the Internet. However, with the emergence of the WWW, Java was propelled to the forefront of computer language design, because the Web, too, demanded portable programs.

So, let us learn the role of Java on the Internet.

 

Role of Java in Internet

Java innovated a networked program called the Applet that changed the way the online world thought about content.

Java also addressed some of the complex issues associated with the Internet i.e. portability and security.

 

Applet

An Applet is a special Java program designed to be transmitted over the Internet and automatically executed by a Java-compatible web browser.

Applets are small programs and are typically used to display data provided by the server, handle user input, or provide simple functions, such as a loan calculator, that execute locally, rather than on the server.

 

Note: Applet support is being removed by JDK 11.

 

Networked programs like Applet also present serious problems in the area of security and portability.

Let’s take a close look at both issues.

 

Security

You are at risk while downloading programs online because the downloaded code may contain viruses.

The malicious code may harm your computer and access unauthorized resources from your machine.

For example, malicious code can steal some private information such as your bank account number, credit, and debit card number, passwords, and account balances by reading files from your computer disk.

Java is enabled to download and execute applet code safely on your computer and prevent such types of attacks. The Java Runtime Environment(JRE) provides this security protection that does not allow to access other parts of the computer.

 

Portability

Portability is a major aspect of the Internet because many different types of computers and operating systems are connected to it in distributed environments. Java programs run on any computer and platform connected to the Internet.

For example, the same applet code must work on all computers irrespective of the diverse platforms. Practically, it is not to have different versions of the applet for different computers. The same code must work on all computers.

 

 

 

In the next lesson, you will learn more about the features of Java.

 


End of the lesson….enjoy learning

 

Student Ratings and Reviews

5.0
5.0 out of 5 stars (based on 1 review)
Excellent100%
Very good0%
Average0%
Poor0%
Terrible0%
July 6, 2024

Very Good

 

 

 

 

Submit a Review