Programming language history Created by wordle.net, from the text in this slide.

Slides:



Advertisements
Similar presentations
CS 150 lecture 2. Review Reasons for studying programming languages Language evaluation criteria –Readability Simplicity? Orthogonality? –Writability.
Advertisements

Programming Paradigms Introduction. 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1:
Fortran Jordan Martin Steven Devine. Background Developed by IBM in the 1950s Designed for use in scientific and engineering fields Originally written.
Chapter 8 High-Level Programming Languages. 8-2 Chapter Goals Describe the translation process and distinguish between assembly, compilation, interpretation,
Modern Compiler Design and Virtual Machine Architectures Presented by: Randy Hollines.
CS 415: Programming Languages Algol Aaron Bloomfield Fall 2005.
CS ExCo Advanced in Topics Object-Oriented Programming.
Object-Oriented Programming OOP John Gilligan School of Computing DIT Kevin St.
Object-Oriented Design & Programming Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
ALGOL 60 Design by committee of computer scientists: Naur, Backus, Bauer, McCarthy, van Wijngaarden, Landin, etc. Design by committee of computer scientists:
1 ) Definition 2) Note on structured and modular programming, and information hiding 3) Example imperative languages 4) Features of imperative languages.
High-Level Programming Languages
The Evolution of Programming Languages
1 CMSC 132: Object-Oriented Programming II Software Development IV Department of Computer Science University of Maryland, College Park.
Programming Languages Structure
6/27/2015G. Levine1 PROGRAMMING LANGUAGES Text: Programming Languages, Design and Implementation Pratt and Zelkowitz 4 th ed. Prentice-Hall.
Chapter 8 The Tower of Babel. Chapter Outline Procedural languages Fortran, COBOL, PASCAL, C, Ada Object-oriented programming Special-purpose languages.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Programming Language Concepts
1 440 Review Topics Covers everything – in slides – from the very beginning. Language classification, history, and comparison How to describe.
Programming Languages CPS120: Introduction to Computer Science Lecture 5.
PZ01A Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ01A -- Introduction Programming Language Design and.
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
C++ Programming. Table of Contents History What is C++? Development of C++ Standardized C++ What are the features of C++? What is Object Orientation?
(1.1) COEN 171 Programming Languages Winter 2000 Ron Danielson.
BIT 1003 – Presentation 7. Contents GENERATIONS OF LANGUAGES COMPILERS AND INTERPRETERS VIRTUAL MACHINES OBJECT-ORIENTED PROGRAMMING SCRIPTING LANGUAGES.
Early History of Object Oriented Programming
Computing Science 1P Lecture 21: Friday 20 th April Simon Gay Department of Computing Science University of Glasgow 2006/07.
Programming Languages –14 David Watt (Glasgow) Steven Wong (Singapore) Moodle : Computing Science → Level 3 → Programming Languages 3 © 2012 David.
Chapter 1 - Introduction
Dr. Muhammed Al-MulhemICS Chapter 5 The Algol Family and Haskell.
Sadegh Aliakbary Sharif University of Technology Fall 2012.
THE HISTORY OF PROGRAMMING LANGUAGES Chapter Twenty- Four Modern Programming Languages 1.
1 Programming Language History and Evolution In Text: Chapter 2.
CS 403 Programming Language Theory Class 3 - August 31, 2000.
ISBN Chapter 2 Evolution of the Major Programming Languages.
1 Introduction Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
Chapter 8 High-Level Programming Languages. 8-2 Chapter Goals Describe the translation process and distinguish between assembly, compilation, interpretation,
ISBN Chapter 2 Evolution of the Major Programming Languages.
CSE 2541 – Advanced C Programming. Course info Prereq – CSE 2221 or CSE 222 Co-req – CSE 2231 Website
1 440 Sample questions 2009 fall. 2 Which of the following is not an OO programming language? –Java –C++ –Smalltalk –Simula 67 –None of the above.
Programming Languages – An introduction. There are 10 types of people in the world −Those who understand binary −Those who don’t.
CS 331, Principles of Programming Languages Chapter 1.
Ch. 5 Ch. 51 jcmt Summer 2003Programming Languages CSE3302 Programming Languages (more notes) Summer 2003 Dr. Carter Tiernan.
Ole-Johan Dahl ACM Turing Award (2001) Presentation by Carsten Hood CSCE | Spring 2014.
Principles of programming languages 10: Object oriented languages Isao Sasano Department of Information Science and Engineering.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
1-1 1 Introduction  Programming linguistics: concepts and paradigms syntax, semantics, and pragmatics language processors.  Historical development of.
1 CS Programming Languages Class 04 September 5, 2000.
Ada, Scheme, R Emory Wingard. Ada History Department of Defense in search of high level language around Requirements drafted for the language.
Evolution of the Major Programming Languages Chapter 2: Evolution of the Major Programming Languages Lectures # 5.
Cs205: engineering software university of virginia fall 2006 David Evans Object-Oriented Programming.
Programming Languages Concepts Chapter 1: Programming Languages Concepts Lecture # 4.
JAVA TRAINING IN NOIDA. JAVA Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented and specifically.
Programming Language History and Evolution
Principles of programming languages 10: Object oriented languages
Concepts of Programming Languages
Assembly Language Specific to each machine Extremely low level
Algol 60 John Cowan N Languages in N Months Meetup June 7, 2016
Lecture 14: Iteration and Recursion (Section 6.5 – 6.6)
OBJECT ORIENTED PROGRAMMING overview
CMPE419 Mobile Application Development
Some Important Programming Languages
Programming Language History and Evolution
Ada – 1983 History’s largest design effort
Programming Languages
강의 내용 및 방법 접근방법 리포트 시험 Lambda Calculus, Proof of Correctness
By Rajanikanth B Overview Of Java By Rajanikanth B
CMPE419 Mobile Application Development
Some Important Programming Languages
Presentation transcript:

Programming language history Created by wordle.net, from the text in this slide

: Programming language history Tower of Babel, CACM cover, Jan Babel: 1.a city in Shinar where the building of a tower is held in Genesis to have been halted by the confusion of tongues 2.a confusion of sounds or voices 3.a scene of noise or confusion --Webster

2 Evolution of programming languages Imperative Functional

3 FORTRAN ( Formula Translator) It is the first high level programming language – The Preliminary Report, 1954, claims that FORTRAN will virtually eliminate coding and debugging. – Developed by John Backus, at IBM. – Major versions: Fortran II in 1958, Fortran IV in 1961, Fortran 77, Fortran 95, Fortran 2003 (OO support). Initial versions rely heavily on GOTO statement; It remains the language of choice for high performance numerical computing in science and engineering communities – Example applications: –Weather and climate modeling, solar system dynamics, simulation of auto crashes.

4 ALGOL (ALGOrithmic Language) de facto standard way to report algorithms in print Designed to improve Fortran John Backus developed the Backus Naur Form (BNF) to describe language syntax ALGOL 60 inspired many languages that followed it "Here is a language so far ahead of its time, that it was not only an improvement on its predecessors, but also on nearly all its successors" --C. A. R Hoare procedure Absmax(a) Size:(n, m) Result:(y) Subscripts:(i, k); value n, m; array a; integer n, m, i, k; real y; comment The absolute greatest element of the matrix a, of size n by m is transferred to y, and the subscripts of this element to i and k; begin integer p, q; y := 0; i := k := 1; for p:=1 step 1 until n do for q:=1 step 1 until m do if abs(a[p, q]) > y then begin y := abs(a[p, q]); i := p; k := q end end Absmax

5 The origin of OOP: Simula and Smalltalk Simula 67: – Developed in 1960’s, by Ole-Johan Dahl – Simulation of complex systems – Introduced objects, classes, and inheritance. Smalltalk: – Developed at Xerox PARC, initially by Alan Kay, in 1970’s. – First full implementation of an object-oriented language (data abstraction, inheritance, and dynamic type binding) – Pioneered the graphical user interface design – Promoted OOP

6 Java (and comparison with C++) Derived from C++. Smaller, simpler, and more reliable – e.g., no pointers, no multiple inheritance, automated garbage collection. Design philosophy – Java was created to support networking computing, embedded systems. – C++ was created to add OO to C. Support systems programming. Version history – 1.0: 1996 – 1.2: 1998, Introduced Swing, JIT – 1.4: 2002, assert, regular expression, XML parsing – 1.5 (5): 2004, generics, enumeration – 6: Dec 2006 web service support(JAX WS) – 7: July 2011

7 Java and C# The syntax of both languages is similar to C++, which was in turn derived from C. Both languages were designed to be object oriented from the ground up; unlike C++, they were not designed to be compatible with C. Both provide parametric polymorphism by generic classes. Both languages rely on a virtual machine. – Both the Java VM and the.NET platform optimize code at runtime through just- in-time compilation (JIT). Both include garbage collection. Both include boxing and unboxing of primitive types, allowing numbers to be handled as objects. Both include foreach, an enhanced iterator-based for loop.

8 Foreach statement: an example of abstraction Java iteration: traditional way (before 2004) List names = new ArrayList(); names.add("a"); names.add("b"); names.add("c"); for (Iterator it = names.iterator(); it.hasNext(); ) { String name = (String)it.next(); System.out.println(name.charAt(0)); } Java 1.5: for (String name: names) System.out.println(name.charAt(0)); The new loop structure is more declarative.

9 XML programming XPath XQuery XSLT JSP Web service programming

10 IDE (Integrated Development Environment) IDE for Java: Eclipse

11 Turing award (Nobel prize in computer science) recipients relevant to this course YearRecipientContribution to programming languages 1966Alan Jay PerlisCompiler and Algol 1971John McCarthyLisp 1972Edsger DijkstraAlgol, Structured programming 1977John BackusFortran, BNF 1980C.A.R. HoareAxiomatic semantics 1983Ken Thompson and Dennis M. Ritchie c and unix 1984Niklaus WirthModula, PASCAL 2001Ole-Johan Dahl and Kristen Nygaard SIMULA, OO 2003Alan KaySMALLTALK, OO 2005Peter NaurAlgol, BNF

12 Popularity of programming languages From lanpop.com Sept Measured from Google Code.

13 Popularity of programming languages This is a chart showing combined results from all data sets

programmer 14