Object Oriented Programming
CSOO-122
Presented by
Dr. Muhammad Touseef Irshad
Lecture # 01
Department of Computer Science 1
National University of Modern Languages, Peshawar Campus
History & Introduction to Java
History
▪ The history of Java is very interesting, Java was
originally designed for interactive television, but it
was too advanced technology for the digital cable
television industry at the time.
▪ Java team members (also known as Green Team),
initiated this project to develop a language for
digital devices such as set-top boxes, televisions,
etc. 2
History & Introduction to Java
▪ However, it was best suited for internet
programming.
▪ Later, Java technology was incorporated by
Netscape.
3
History & Introduction to Java
▪ Java was developed by James Gosling and his team
at Sun Microsystems in 1991.
4
History & Introduction to Java
▪ The name "Java" was inspired by Java coffee, a
type of coffee grown on the island of Java in
Indonesia.
▪ The developers chose the name because they
wanted something unique, dynamic, and reflective
of energy, much like a cup of coffee.
5
History & Introduction to Java
▪ Before being named Java, the language was called
Oak.
▪ The name Oak was derived from an oak tree
outside James Gosling's office.
▪ However, Oak was already trademarked, leading to
the adoption of the name "Java."
6
History & Introduction to Java
7
Oak Tree
History & Introduction to Java
Introduction
▪ Java is a high-level, object-oriented programming
language known for its simplicity, portability, and
robustness.
▪ It is used for developing a wide range of
applications, from mobile and web apps to
enterprise systems and embedded systems.
8
History & Introduction to Java
Key Features:
1. Platform Independence
Java applications run on any platform that supports
the Java Virtual Machine (JVM).
2. Object-Oriented
Emphasizes concepts like Class, Object,
Inheritance, Encapsulation, and Polymorphism etc.
9
History & Introduction to Java
3. Automatic Memory Management
Through garbage collection.
4. Rich API
Offers APIs for networking, data structures, GUI
development, and more.
5. Multi-threading
Supports concurrent execution of tasks.
10