University of Houston-Clear Lake Proprietary© 1997 Evolution of Programming Languages Basic cycle of improvement –Experience software difficulties –Theory.

Slides:



Advertisements
Similar presentations
Portability and Safety Mahdi Milani Fard Dec, 2006 Java.
Advertisements

Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
Java Applet Security Diana Dong CS 265 Spring 2004.
Java security (in a nutshell)
Lab Information Security Using Java (Review) Lab#0 Omaima Al-Matrafi.
Lab#1 (14/3/1431h) Introduction To java programming cs425
The Java Language. Topics of this Course  Introduction to Java  The Java Language  Object Oriented Programming in Java  Exceptions Handling  Threads.
Chapter 1: Preliminaries
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.
JETT 2003 Java.compareTo(C++). JAVA Java Platform consists of 4 parts: –Java Language –Java API –Java class format –Java Virtual Machine.
Programming Languages Structure
For more Lectures and Notes Visit
CS884 (Prasad)Java Goals1 “Perfect Quote” You know you've achieved perfection in design, Not when you have nothing more to add, But when you have nothing.
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.
Peter Juszczyk CS 492/493 - ISGS. // Is this C# or Java? class TestApp { static void Main() { int counter = 0; counter++; } } The answer is C# - In C#
Sadegh Aliakbary Sharif University of Technology Fall 2011.
Java Security Updated May Topics Intro to the Java Sandbox Language Level Security Run Time Security Evolution of Security Sandbox Models The Security.
JAVA v.s. C++ Programming Language Comparison By LI LU SAMMY CHU By LI LU SAMMY CHU.
Introduction to Java CSIS 3701: Advanced Object Oriented Programming.
Java Security. Topics Intro to the Java Sandbox Language Level Security Run Time Security Evolution of Security Sandbox Models The Security Manager.
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
Sadegh Aliakbary Sharif University of Technology Spring 2011.
Sadegh Aliakbary Sharif University of Technology Fall 2010.
An intro to programming. The purpose of writing a program is to solve a problem or take advantage of an opportunity Consists of multiple steps:  Understanding.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Programming Languages Machine.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Chapter 1 Introduction to Computers,
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.
Introduction to Java CSIS 3701: Advanced Object Oriented Programming.
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.
Algorithm Programming Bar-Ilan University תשס"ח by Moshe Fresko.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 1 Introduction to.
Java Security Nathan Moore CS 665. Overview Survey of Java Inherent Security Properties Java Runtime Environment Java Virtual Machine Java Security Model.
COMP201 Java Programming Topic 1: Introduction Readings: Chapter 1.
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.
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.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
JAVA BASICS Prepared by The Smartpath Information Systems
Introduction to Object Oriented Programming CMSC 331.
What Is Java? According to Sun in a white paper: Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture-neutral, portable,
Lecture 1 Introduction. Instructor Name: Seokwoo Song Office: business 524 Phone: Office Hours: M W 4:30 – 5:30 PM or by appointment
Chapter 2: A Brief History Object- Oriented Programming Presentation slides for Object-Oriented Programming by Yahya Garout KFUPM Information & Computer.
Computer Programming 2 Why do we study Java….. Java is Simple It has none of the following: operator overloading, header files, pre- processor, pointer.
1. An Introduction A Programming Language A Technology Java Development Kit Java API One Language: Three Editions Standard Edition Enterprise Edition.
Java: An Overview John R Durrett Texas Tech University.
JAVA INTRODUCTION. What is Java? 1. Java is a Pure Object – Oriented language 2. Java is developing by existing languages like C and C++. How Java Differs.
What is Java? Object Oriented Programming Language Sun Microsystems “Write Once, Run Everywhere” Bytecode and Virtual Machine Java Platform (Java VM and.
Duke CPS From C++ to Java l Java history: Oak, toaster-ovens, internet language, panacea l What it is ä O-O language, not a hybrid (cf. C++)
Java – in context Main Features From Sun Microsystems ‘White Paper’
20-753: Fundamentals of Web Programming Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 15: Java Basics Fundamentals of Web Programming.
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
JAVA TRAINING IN NOIDA. JAVA Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented and specifically.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Fundamental of Java Programming (630002) Unit – 1 Introduction to Java.
Object Oriented Programming in
1. Introduction To JAVA.
Done By: Ashlee Lizarraga Ricky Usher Jacinto Roches Eli Gomez
Chapter 1 Introduction to Computers, Programs, and Java
Java security (in a nutshell)
Introduction Enosis Learning.
Introduction Enosis Learning.
Unit 41 – Programing in Java
Advanced Programming Fall 2017.
Object Oriented Programming
From C++ to Java Java history: Oak, toaster-ovens, internet language, panacea What it is O-O language, not a hybrid (cf. C++) compiled to byte-code, executed.
Java History, Editions, Version Features
Presentation transcript:

University of Houston-Clear Lake Proprietary© 1997 Evolution of Programming Languages Basic cycle of improvement –Experience software difficulties –Theory - develop new concepts –Evaluation - build new languages History –Machine language –Assembly language –FORTRAN, COBOL –Pascal, C, Smalltalk –Ada, C++, Java

University of Houston-Clear Lake Proprietary© 1997 Java Simple Object-oriented Distributed Interpreted Robust Secure Architecture neutral Portable High performance Multi-threaded Dynamic language

University of Houston-Clear Lake Proprietary© 1997 Object-Oriented Languages Abstraction Encapsulation Inheritance Polymorphism

University of Houston-Clear Lake Proprietary© 1997 Abstraction Real World Object Abstraction of the Object Color Price Options Position Velocity Forces Width Height Weight Object-oriented

University of Houston-Clear Lake Proprietary© 1997 Encapsulation Data Operations and Access to object’s data is controlled Object-oriented

University of Houston-Clear Lake Proprietary© 1997 Inheritance Object-oriented

University of Houston-Clear Lake Proprietary© 1997 Polymorphism Object-specific operations Overloading of method names “abc” “de” “abcde” float String Object-oriented

University of Houston-Clear Lake Proprietary© 1997 Distributed High-level support for networking URL and other classes from java.net package Easy to read a remote file or other resource Can invoke remote methods Can download and run code from across the Internet Distributed

University of Houston-Clear Lake Proprietary© 1997 Interpreted Java compiler generates byte-code for the JVM –the Java Virtual Machine Interpreted Java Virtual Machine Java byte code Computer XYZ

University of Houston-Clear Lake Proprietary© 1997 Architecture-Neutral and Portable The Java byte-code is architecture neutral because it can be executed on any machine that supports the Java Virtual Machine No implementation-dependent aspects to the language –size of each of the primitive data types is specified Few platform dependencies Write - Once - Run - Many Portable

University of Houston-Clear Lake Proprietary© 1997 Simple Number of language constructs has been kept small Language is similar to C and C++ No header files No preprocessor No struct statement No goto statement No pointers Automatic garbage collection Simple

University of Houston-Clear Lake Proprietary© 1997 Robust Strongly-typed Better compile-time error checking No pointer-related bugs No memory leaks Support for exception handling Explicit method declarations are required Casts of objects are checked at compile time Robust

University of Houston-Clear Lake Proprietary© 1997 Secure Several layers of security protection to protect against malicious code Pointers cannot be forged Memory cannot be accessed beyond the limits of an array or string’s dimensions Byte-code verification prevents stack overflows and illegal byte-codes Sandbox model - applets cannot access local file system Support for digital signatures for untrusted code Secure

University of Houston-Clear Lake Proprietary© 1997 High-Performance Although about 10 times slower than C coded applications, Java 1.1 is about twice as Java 1.0 Common operations like string concatenation are in native code Many interpreter systems include just-in-time compilers to allow code to run faster on a particular CPU Faster than many other interpreted languages and than most scripting languages like Tcl or Perl High-Performance

University of Houston-Clear Lake Proprietary© 1997 Multi-Threaded Multiple threads of execution are possible Could have audio file playing, image file downloading, and graphical animation going on simultaneously Java syntax support threads directly with synchronized keyword Can easily start threads, stop threads, and assign priorities Multi-Threaded