Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 14

The development of each programming language is based on

a fact: there is a need to solve a problem that was not


resolved by previous programming languages.

For example, Fortran could have been used to write efficient


programs for scientific problems, but it was not good for
system code.

Similarly, Basic was easy to understand but was not robust to


write big programs;

While the assembly language was powerful for writing


efficient programs, but it was not easy to remember and
execution.
Mr. Jai Mangal Singh
Registrar, Exam
Java and its Evolution
Programming languages such as Cobol, Fortran do not
have structural principles. They use the Goto statement to
control the flow of the program.

Therefore, ’C’ was invented in 1970, to replace the


assembly language and to create a structured, effective
and high-level language

C++ came with object-oriented programming features. C+


+ is the extension of C language which has been used
extensively. It is a powerful modern language that includes
the power and simplicity of C and the characteristics of
OOP.
History of java
James Gosling, Patrick Naughton, Chris Warth, Mike Sheridan
and Ed Frank initiated the Java language project in June 1991.
The idea was to develop a language which was platform-
independent and which could create embedded software for
consumer electronic devices,
It took 18 months to develop and had an initial name as Oak,
Renamed to Java in 1995, due to copyright issues.
Java originally developed by James Gosling at Sun
Microsystems and released in 1995.
Versions of java
• 1995 version 1.0:
– The Java development kit was released for free by the sun
– 8-Packages 212-Classes
– Microsoft and other companies licensed Java
• 1997 version 1.1:
– 23 -Packages 504-Classes
– Improvement include better event handling inner classes ,
improved JVM.
– Microsoft developed its own 1.1 compatible Java Virtual
Machine for Internet Explorer
– Many browsers in use are still compatible only with 1.1
Versions of java…
1999 version 1.2:
-It is also called as the Java 2 platform
-59 Packages -1520 Classes
-Code & tools distributed as the SDK
-A Java foundation class based on swings for improved
graphics and user interfaces
-Collection API included list sets and hash map
Versions of java…
. 2000 VERSION 1.3:
- 76 Packages - 1842 Classes
- Java Sound (API for Digital & MIDI Sound)
•2002 VERSION 1.4:
- 135 Packages - 2991 Classes
- Improved XML support etc..,
•2004 VERSION 5.0 (1.5):
- 165 Packages - over 3000 Classes
- Faster startup metadata formatted Output
- Generic to operate on objects of various types
Versions of java…
2006 Java SE 6:
– Scripting language support
2011 Java SE 7:
– JVM Support for dynamic language
– String in switch
– Allowing underscores in numeric literals
2014 Java SE 8:
– for Each() method in Iterable interface.
- default and static methods in Interfaces.
- Functional Interfaces and Lambda Expressions.
Versions of java…
2017 Java SE 9:
-Stream API Improvements
-Multi-Resolution Image API
FUTURE EXPECTED UPDATES:
– Application Data-Class Sharing: ...
– Garbage Collector Interface
Java Attributes
• Familiar, Simple, Small
• Compiled and Interpreted
• Platform-Independent and Portable
• Object-Oriented
• Robust and Secure
• Distributed
• Multithreaded and Interactive
• High Performance
• Dynamic and Extensible
Hardware and
Programmer
Operating System

Source Code Byte Code


Text Editor Compiler Interpreter
.java file .class file
Notepad, javac java
emacs, vi appletviewer
netscape
Java is both compiled and an interpreted lang. First the java compiler
translates source code into the byte code instructions. In the next stage
the java interpreter converts the byte code instructions to Machine Code.
Architecture Neutral & Portable
Java Compiler - Java source code (file with
extension .java) to bytecode (file with
extension .class)
Bytecode - an intermediate form, closer to
machine representation
A interpreter (virtual machine) on any
target platform interprets the bytecode.
Porting the java system to any new
platform involves writing an interpreter.
The interpreter will figure out what the
equivalent machine dependent code to run
Total Platform Independence
Java’s Magic: The Byte Code
allows Java to solve both the security and the portability problems
is that the output of a Java compiler is not executable code but it is
the Bytecode.
Bytecode is a highly optimized set of instructions designed to be
executed by the Java run-time system, which is called the Java
Virtual Machine (JVM).
JVM is an interpreter for bytecode. The fact that a Java program is
executed by JVM helps solve the major problems associated with
downloading programs over the Internet.
Translating a Java program into bytecode helps makes it much
easier to run a program in a wide variety of environments. This is
because only the JVM needs to be implemented for each platform.
Rich Class Environment
Core Classes
language
Utilities
Input/Output
Low-Level Networking
Abstract Graphical User Interface
Internet Classes
TCP/IP Networking
WWW and HTML
Distributed Programs
Thanking you
Have patience for more about Java.

You might also like