JAVA :HISTORY AND EVOLUTION
To fully understand Java, one must understand the reasons behind its creation, the forces that shaped it, and the legacy that it inherits. Like the successful computer languages that came before, Java is a blend of the best elements of its rich heritage combined with the innovative concepts required by its unique mission. It is important to remember that Java is first and foremost a programming language. Computer language innovation and development occur for two fundamental reasons:
• To adapt to changing environments and uses
• To implement refinements and improvements in the art of programming As you will see, the development of Java was driven by both elements in nearly equal measure.
JAVA 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. From C, Java derives its syntax. Many of Java’s object-oriented features were influenced by C++. In fact, several of Java’s defining characteristics come from—or are responses to—its predecessors.
TOWARDS JAVA:
The Birth of Modern Programming: C
- Ease-of-use versus power
- Safety versus efficiency
- Rigidity versus extensibility
The creation of Java was influenced by the shortcomings of earlier programming languages like FORTRAN, BASIC, and Assembly, which either lacked efficiency, structure, or ease of use. Before C emerged in the 1970s, no single language balanced these attributes effectively. C, developed by Dennis Ritchie, evolved from BCPL and B, offering a structured, efficient, and programmer-friendly language. It quickly gained popularity for its practicality and was standardized in 1989. Java, inheriting C's legacy, continued this tradition of combining efficiency, structure, and ease of use, marking a significant advancement in computer languages.
Java's Influence and Legacy:
HOW JAVA IMPACTED THE INTERNET-
- Introduced a new type of networked program, applets, that could run within web browsers.
- Enabled client-side execution of small programs for interactivity and functionality.
- Addressed security concerns by confining Java programs within a secure execution environment (sandbox).
- Prevented malicious activities by restricting program access to system resources.
- Achieved platform independence through bytecode compilation.
- Java programs compiled into bytecode could run on any system with a Java Virtual Machine (JVM), enhancing portability.
- Deprecated applet support starting from JDK 9 due to declining browser support.
- Introduced alternatives like Java Web Start for deploying applications outside of browsers.
- Introduced servlets for server-side Java programming.
- Enabled dynamic content generation and interaction with databases on the server.
- Simple: Easy to learn and use for programmers, especially those familiar with C++.
- Secure: Built-in features for secure program execution.
- Portable: Runs on any system with a JVM.
- Object-Oriented, Robust, Multithreaded, Architecture-Neutral: Design principles enhancing reliability, scalability, and adaptability.
- Interpreted and High Performance: Balances cross-platform support with performance through bytecode and JIT compilation.
- Distributed and Dynamic: Supports networked applications and dynamic linking of code.
Evolution of Java:
- Java continued to evolve rapidly post-initial release (Java 1.0).
- Major releases like Java 2 (J2SE) introduced significant new features and libraries.
- Later versions (Java SE 5, 6, 7, 8) added language enhancements (e.g., generics, lambda expressions) and improved APIs (e.g., NIO, Fork/Join Framework).
Comments
Post a Comment