UNIT-I
(INTRODUCTION)
BY: DR. AMAN TYAGI
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
Java - An Introduction
Java - The new programming
language developed by Sun
Microsystems in 1991.
Originally called Oak by James
Gosling, one of the inventors of
the Java Language.
Java -The name that survived a
patent search
Java Authors: Gosling, Arthur
Van , and others
Java Introduction
Originally created for consumer electronics (TV, VCR, Freeze, Washing
Machine, Mobile Phone).
Java - CPU Independent language
Internet and Web was just emerging, so Sun turned it into a language
of Internet Programming.
It allows you to publish a webpage with Java code in it.
Java Milestones
Year Development
1990 Sun decided to developed special software that could be used for
electronic devices. A project called Green Project created and
headed by James Gosling.
1991 Explored possibility of using C++, with some updates announced a
new language named “Oak”
1992 The team demonstrated the application of their new language to
control a list of home appliances using a hand held device.
1993 The World Wide Web appeared on the Internet and transformed the
text-based interface to a graphical rich environment. The team
developed Web applets (time programs) that could run on all types
of computers connected to the Internet.
Java Milestones
Year Development
1994 The team developed a new Web browsed called “Hot Java” to
locate and run Applets. HotJava gained instance success.
1995 Oak was renamed to Java, as it did not survive “legal”
registration. Many companies such as Netscape and
Microsoft announced their support for Java
1996 Java established itself it self as both 1. “the language for
Internet programming” 2. a general purpose OOP’S language.
1997- A class libraries, Community effort and standardization,
Enterprise Java, Clustering, etc..
History of Java
Java SE Version Version Number Release Date
JDK 1.0 (Oak) 1.0 January 1996
JDK 1.1 1.1 February 1997
J2SE 1.2 (Playground) 1.2 December 1998
J2SE 1.3 (Kestrel) 1.3 May 2000
J2SE 1.4 (Merlin) 1.4 February 2002
J2SE 5.0 (Tiger) 1.5 September 2004
Java SE 6 (Mustang) 1.6 December 2006
Java SE 7 (Dolphin) 1.7 July 2011
Java SE 8 1.8 March 2014
Java SE 9 9 September, 21st 2017
Java SE 10 10 March, 20th 2018
Java SE 11 11 September, 25th 2018
Java SE 12 12 March, 19th 2019
Java SE 13 13 September, 17th 2019
Java SE 14 14 March, 17th 2020
Java SE 15 15 September, 15th 2020
Java SE 16 16 March, 16th 2021
Java SE 17 17 September, 14th 2021
Java SE 18 18 March, 22nd 2022
Java SE 19 19 September, 20th 2022
The latest version of java will be Release in March 2024 Java SE 22.
Power of Java and the Web
Java is easy to learn.
Java was designed to be easy to use and is therefore easy to write,
compile, debug, and learn than other programming languages.
Java is object-oriented.
This allows you to create modular programs(different functions) and
reusable code.
Java is platform-independent.
One of the most significant advantages of Java is its ability to move
easily from one computer system to another. The ability to run the
same program on many different systems is crucial to World Wide
Web software, and Java succeeds at this by being platform-
independent at both the source and binary levels.
Importance of Java to the Internet
The Internet helped catapult Java to the forefront of programming, and
Java, in turn, has had a profound effect on the Internet.
Java is strongly associated with the internet because of the first
application program is written in java was hot java.
Web browsers to run applets on the internet.
Internet users can use Java to create applet programs & then run locally
using Java-enabled browser such as hot Java.
Bytecode
Bytecode is program code that has been compiled from source code
into low-level code designed for a software interpreter. It may be
executed by a virtual machine (such as a JVM) or further compiled into
machine code, which is recognized by the processor.
Different types of bytecode use different syntax, which can be read and
executed by the corresponding virtual machine. A popular example is
Java bytecode, which is compiled from Java source code and can be
run on a Java Virtual Machine (JVM). While it is possible to write bytecode
directly, it is much more difficult than writing code in a high-level
language, like Java. Therefore, bytecode files, such as Java .CLASS files,
are most often generated from source code using a compiler, like javac.
Basic Concepts of OOPS
Encapsulation
Abstraction
Polymorphism
Inheritance
Encapsulation:
Encapsulation is the mechanism that
binds together function and data in one
compact form, known as class.
The data and function may be private or
public.
Private data/function can be accessed
only within the class.
Public data/code can be accessed
outside the class.
Abstraction:
Abstraction is a mechanism to represent only essential features
which are of significance and hides the unimportant details.
Polymorphism:
If we bifurcate the word polymorphism we get
'poly', which means many and
'morphism', which means form
Bifurcation of polymorphism
Thus, polymorphism means more than one form.
Polymorphism provides a way for an entity to behave in several
forms.
Inheritance:
Inheritance is the mechanism of deriving a new class from the earlier existing
class.
The inheritance provides the basic idea of reusability in object-oriented
programming.
The new class inherits the features of the old class.
The old class and new class is called (given as pair)
base-derived, parent-child, super-sub.
The inheritance supports the idea of classification.
END