An object-oriented language tailored for general-purpose business applications and interactive, World Wide Web-based Internet applications
Java
Robust security features
Architectural neutrality
Java allows programmers to craft programs that seamlessly operate across diverse operating systems like Windows, Mac OS, or Linux, as well as various devices such as PCs, phones, and tablets
GreenProject
Initiated by JamesGosling in 1991 to develop software for controlling consumer electronic devices
Oak programming language
Developed in 1992 with features such as platform independence, object-oriented programming, and security
Renaming to Java
In 1995, the project was renamed from Oak to Java due to trademark issues. The name Java was chosen after an island in Indonesia known for its coffee beans
Official release of Java 1.0
January 1996
Java 1.0 included core features such as the Java Development Kit (JDK), Java Virtual Machine (JVM), and Java Applets
Following its release, Java quickly gained popularity and widespread adoption, leading to its standardization through the Java Community Process (JCP)
Java's core principles
Simplicity
Robustness
Portability
Platform independence
Security
High performance
Multithreading
Architecture neutrality
Distributed
Object-oriented design
Interpretation capability
Automatic Garbage Collection
Dynamism
Write Once, Run Anywhere
Java's promise that allowed developers to create applications that could run on multiple platforms without modification
Java's security features
Configurable options that restricted network and file access
Java core principles
Object-Oriented
PlatformIndependent
Simple
Secure
Architecture-Neutral
Portable
Robust
Multithreaded
Interpreted
High Performance
Distributed
Dynamic
Automatic Garbage Collection
Procedural programming
Derived from structured programming and revolves around calling procedures, which are a series of computational steps
Procedural programming
Follows a top-down approach, dividing programs into functions and treating them as separate entities
Less secure compared to Object-Oriented Programming (OOP) due to the absence of data hiding mechanisms
Programs can become complex, especially when adding new data or functions
Programs are divided into small parts known as functions
Functions take precedence over data
Procedural programming languages
C
Pascal
ALGOL
COBOL
BASIC
FORTRAN
Object-Oriented Programming
Organizes software design around objects, which contain data in attributes and code in methods
Object-Oriented Programming
Follows a bottom-up approach, dividing programs into objects that interact with each other
Introduces access specifiers like private, public, and protected, enhancing security through data hiding
Programs are less complex due to modularity, allowing for easy creation of new data objects
Programs are divided into objects, each encapsulating data and methods
Data takes precedence over functions, focusing on modeling real-world entities
Provides inheritance, allowing classes to inherit characteristics from existing classes