Chapter 2: A Brief History Object- Oriented Programming Presentation slides for Object-Oriented Programming by Yahya Garout KFUPM Information & Computer.

Slides:



Advertisements
Similar presentations
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
Advertisements

CSci 1130 Intro to Computer Programming in Java
In Review JAVA C++ GUIs - Windows Webopedia.com.
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
The Java Language. Topics of this Course  Introduction to Java  The Java Language  Object Oriented Programming in Java  Exceptions Handling  Threads.
Java: History and Introduction (Lecture # 1). History… Java – Based on C and C++ – Developed in 1991 for intelligent consumer electronic devices – Green.
Introduction to Java Kiyeol Ryu Java Programming Language.
Java for High Performance Computing Jordi Garcia Almiñana 14 de Octubre de 1998 de la era post-internet.
Programming Languages Structure
For more Lectures and Notes Visit
1 Programming Languages Translation  Lecture Objectives:  Be able to list and explain five features of the Java programming language.  Be able to explain.
1-1 Copyright (c) 1999 N. Afshartous Introduction to Java™
Session-02. Objective In this session you will learn : What is Class Loader ? What is Byte Code Verifier? JIT & JAVA API Features of Java Java Environment.
Lecture 1: Overview of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++ Designed.
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
01 Introduction to Java Technology. 2 Contents History of Java What is Java? Java Platforms Java Virtual Machine (JVM) Java Development Kit (JDK) Benefits.
JAVA v.s. C++ Programming Language Comparison By LI LU SAMMY CHU By LI LU SAMMY CHU.
C++ for Java Programmers Chapter 1 Basic Philosophical Differences.
INTRODUCTION TO WEB DATABASE PROGRAMMING
CSC 142 A 1 CSC 142 Introduction to Java [Reading: chapter 0]
Chapter 1 Coding Introduction.
A BRIEF HISTORY OF OOP AND JAVA PROGRAMMING LANGUAGE
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
Introduction to Java Kumar Harshit. Objectives ( 목적지 ) At the end of the lesson, the student should be able to: ● Describe the features of Java technology.
CS 355 – Programming Languages
C++ Programming. Table of Contents History What is C++? Development of C++ Standardized C++ What are the features of C++? What is Object Orientation?
Sadegh Aliakbary Sharif University of Technology Spring 2011.
Sadegh Aliakbary Sharif University of Technology Fall 2010.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Programming Languages Machine.
111 © 2002, Cisco Systems, Inc. All rights reserved.
Java Introduction Lecture 1. Java Powerful, object-oriented language Free SDK and many resources at
Why Java? A brief introduction to Java and its features Prepared by Mithat Konar.
Sadegh Aliakbary Sharif University of Technology Fall 2012.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
University of Houston-Clear Lake Proprietary© 1997 Evolution of Programming Languages Basic cycle of improvement –Experience software difficulties –Theory.
1.8History of Java Java –Based on C and C++ –Originally developed in early 1991 for intelligent consumer electronic devices Market did not develop, project.
Introduction and Features of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++
Lecture :2 1.  DEFENTION : Java is a programming language expressly designed for use in the distributed environment of the Internet. It was designed.
1 2. Program Construction in Java Programming Fundamentals.
CPRG 215 Introduction to Object-Oriented Programming with Java Module 1-Introduction to Java Topic 1.1 Basics of Java Produced by Harvey Peters, 2008 Copyright.
What Is Java? According to Sun in a white paper: Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture-neutral, portable,
Computer Programming 2 Why do we study Java….. Java is Simple It has none of the following: operator overloading, header files, pre- processor, pointer.
We will talking about story of JAVA language. By Kristsada Songpartom.
CT1513 Introduction To java © A.AlOsaimi.
Copyright © Mohamed Nuzrath Java Programming :: Syllabus & Chapters :: Prepared & Presented By :: Mohamed Nuzrath [ Major In Programming ] NCC Programme.
1. An Introduction A Programming Language A Technology Java Development Kit Java API One Language: Three Editions Standard Edition Enterprise Edition.
Introduction Mehdi Einali Advanced Programming in Java 1.
Java – in context Main Features From Sun Microsystems ‘White Paper’
1 Introduction Read D&D Sec 1.8; Sec 1.13 THE Java tutorial -
Introduction to Programming 1 1 2Introduction to Java.
Introduction to JAVA Programming
JAVA PROGRAMMING Buzzwords. Simple: Less complex syntax than C++ Not as easy to design as Visual Basic Small size of interpreter.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Fundamental of Java Programming (630002) Unit – 1 Introduction to Java.
Chapter 1 Coding Introduction.
Applications Active Web Documents Active Web Documents.
Object Oriented Programming in
Java™ 2 Platform Getting Started.
Done By: Ashlee Lizarraga Ricky Usher Jacinto Roches Eli Gomez
Chapter 1 Introduction to Computers, Programs, and Java
Introduction Enosis Learning.
Chapter 1 FOUNDATIONS OF JAVA
Introduction Enosis Learning.
Chapter 1 Coding Introduction.
(Computer fundamental Lab)
Java History, Editions, Version Features
Chap 1. Getting Started Objectives
Outcome of the Lecture Upon completion of this lecture you will be able to understand Fundamentals and Characteristics of Java Language Basic Terminology.
Presentation transcript:

Chapter 2: A Brief History Object- Oriented Programming Presentation slides for Object-Oriented Programming by Yahya Garout KFUPM Information & Computer Science Department

Outline b A Brief History Object-Oriented Programming b The History of Java b Client-Side Computing Bytecode Interpreters and Just-In-Time CompilersBytecode Interpreters and Just-In-Time Compilers Security IssuesSecurity Issues Specialization of InterfacesSpecialization of Interfaces b The White Paper Description Java Is SimpleJava Is Simple Java Is Object-OrientedJava Is Object-Oriented Java Is Network SavvyJava Is Network Savvy Java Is InterpretedJava Is Interpreted Java Is RobustJava Is Robust

Outline Java Is SecureJava Is Secure Java Is Architecture NeutralJava Is Architecture Neutral Java Is PortableJava Is Portable Java Is High-PerformanceJava Is High-Performance Java Is MultithreadedJava Is Multithreaded Java Is DynamicJava Is Dynamic

A Brief History Object-Oriented Programming b All the major concepts were developed in the 1960s as part of a language called Simula b Alan Kay and his group developed a programming language named Smalltalk in the 1970s b Bjarne Stroustrup developed an extension to the C language that eventually evolved to the language C++ b Explosion of the research in object-oriented programming techniques began b In the first major conference on object-oriented programming, in 1986, there were dozens of languages b These included Eiffel, Objective-C, Actor, Object Pascal, and various Lisp dialects b Object-oriented programming became mainstream

The History of Java b Originally names as Oak and was developed in 1991 by James Gosling. b Intended as a language for use in embedded customer electronic applications b This determined the characteristics of the language b Two of the most important features size and reliability b Processors in embedded systems are very small, possessing small memory, thus the language must be able to translate into very concise encoding b Embedded systems should almost never fail and should respond to exceptional and erroneous conditions

Client-Side Computing b Internet a classic example of a client/server system b A person working at own computer is a client b The client application communicates over the Internet with another computer, server b Dynamic behavior by executing programs b In the past programs executed on the server b The key idea in client-side is that the server transmits the program to the client to execute locally

Bytecode Interpreters and Just-In-Time Compilers b Client computer must be able to execute the program b Java translates program into bytecode, a machine code for a virtual machine b Bytecode is transmitted to clients b Client computer must use either interpreter or JIT compiler b Interpreter reads and executes bytecode one by one as needed b Just-In-Time compiler translates bytecode to machine code of the client computer

Security Issues b Java has a security manager that limits the actions performed by the programs from a server b No file system access b No transmission of information across internet to machines other than client or server

Specialization of Interfaces b Programs at the server is structured in terms of generic classes, such as window and button b These classes are the same regardless of the system used b At run-time these components create peer components for the client system and is used

Java Is Simple b Simpler than C++ b Many keywords have been eliminated b No preprocessor b Much larger library of high-level development tools b No operator overloading b No independent functions b No global variables b No goto statement b No structures b No pointers

Java Is Object-Oriented b The only unit of programming is the class description b No functions or variables exist outside of class boundaries b Other languages have object-oriented features on top of the non-object-oriented language b Forces all programs into object-oriented structure b Many benefits of object-oriented design is realized

Java Is Network Savvy b Designed with Internet in mind b It is possible to construct programs that do not deal with Internet b Provides a rich set of tools for programming across a network b Classes for describing URLs b Classes for making connections between client and server computers b Classes for execution in controlled environments such as web browsers

Java Is Interpreted b Java programs are compiled into byte-code that can be stored on any type machine b Interpreter is used to read byte-code and execute it b Generally slower in execution b A JIT compiler is used to translate byte-code into actual machine code instructions b This way makes them run as fast as compiled programs in the traditional languages

Java Is Robust b Extensive use of exception-handling b Statements generate exceptions not erroneous operations b The semantics insist that you must deal with this possibility b Programmers are forced into thinking about potential sources of error b Automatic memory management, or garbage collection b If programmers forget to release memory resources once finished with them, applications will eventually fail b Java run-time system automatically detects and recovers memory that is no longer being used by the program b Simplifies the programmer’s task and is more reliable

Java Is Secure b Eliminating pointers removed the most common source of programming errors b Array index values are checked for validity b Java is the first layer in a multilevel security system b Byte-codes are examined before executed for errors b Programs are severely restricted in the type operations they can perform b Computers are safe when running java programs brought over the network

Java Is Architecture Neutral b Java byte-code does not correspond to an machine b A java program is the same on all machines b Although C++ is a standard language, the libraries needed to perform activities differ considerably from platform to another b Java hides application-specific details under a layer of abstraction in the standard java library

Java Is Portable b Because the library hides architecture-specific concepts b Because byte-codes are the same regardless of the machine b Java programs possess unparalleled degree of portability b The exact program can be compiled on one system, then executed on many different types of systems

Java Is High-Performance b Initially heavy performance penalty b The technology of java execution has rapidly evolved b JIT compilers allow platform-independent java programs to be executed with the nearly same run-time performance as conventional compiled languages

Java Is Multithreaded b One of the first languages designed for the possibility of multiple threads of execution running in one program b It is easy to set up multitasking b The coordination of these parallel processes is relatively easy

Java Is Dynamic b Moving java programs across the Internet and executing them on local computers, permits dynamic behavior