How Java Got Evolved?
1. Fundamental reasons for computer language development:
1. Fundamental reasons for computer language development:
- To adapt to changing environments & uses
- To implement refinements& improvements in art of programming
- Programming through toggling of switches on front panel
- Assembly Language
- FORTRAN
- C (Structured Programming)
- C++ (Object-Orientation for complexity management)
- Java = C++ - {Problem Areas}
- Also, Java = C (Syntax) + C++ (Object-Orientation)
Scenarios that led to creation of Java
- Variety of CPU were existing in late 80’s & embedded systems were gaining popularity
- Developing compiler for each of them was expensive & time-consuming
- So, a platform independent solution was needed
- Internet also started spreading at that time
- In 1991, James Gosling at Sun Microsystems conceived Oak as an architecturally neutral solution for portability
- Later, Oak was renamed to Java in 1995
Why Java is important to Internet?
- Internet = Static Information + Dynamic Part
- Dynamic part requires (unknown) programs from elsewhere to run on your computer
- As a solution, Java provided Applets which are portable and secure
- Applets are tiny Java programs which are:
- Executed by Java-compatible Web Browser
- Can react to user-inputs and change dynamically
Protability & Security: Who is behind the scene?
- Java’s Magic: Bytecode
run-time system, which is called Java Virtual Machine (JVM)
- JVM is essentially an interpreter
- Portability: Just provide JVM for desired platform
- Security: JVM controls bytecode execution and prevents Applets from accessing different parts of computers and applications to generate side-effects
Features of Java
- Portable
- Secure
- Simple
- Small number of clear ways of doing a task
- Object-Oriented
- Robustness
- Through: strictly-typed, auto de-allocation, exception-handling
- Multithreaded
- Architecture-Neutral
- Interpreted and High Performance
- Distributed
- RMI: Unparallel level of abstraction to client-server programming
- Dynamic
-->Allows dynamic linking of code in safe & expedient environment manner Robustness
Myths About Java
- Java is Internet version of C++
- Java will replace C++
- Java programming is simple
- Java increases productivity
- All software should be coded in Java
Continuing Revolution
- Java Standard Editions (J2SE)
- 1.6 (stable, current)
- 1.5 (stable)
- 1.4 (stable)
- 1.3 (obsolete)
- 1.2 (no longer actively supported)
- Java Enterprise Editions:
- Java EE 5
- Java for Micro Devices
References
Books:
- Java 2 Complete Reference, 5th Ed., by Herbert Schildt
- J2EE Unleashed by Paul Allen, SAMS Publisher
- CodeNotes for J2EE by Gregory Brill
Websites:
www.javapassion.com
www.java.sun.com
No comments:
Post a Comment