Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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

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


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

Similar presentations


Ads by Google