1 Programming Language History and Evolution In Text: Chapter 2.

Slides:



Advertisements
Similar presentations
Programming Languages and Paradigms
Advertisements

Programming Paradigms Introduction. 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1:
Chapter 8 High-Level Programming Languages. 8-2 Chapter Goals Describe the translation process and distinguish between assembly, compilation, interpretation,
Introduction to Programming Languages Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University.
CS ExCo Advanced in Topics Object-Oriented Programming.
A brief history of programming languages
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 1 Overview A good programming language is.
High-Level Programming Languages
Reasons to study concepts of PL
A Quick Overview of Languages. FORTRAN Designed in 1955 First release of the compiler in 1957 Algebraic in nature Scientific (numeric not string oriented)
Programming Languages Structure
6/27/2015G. Levine1 PROGRAMMING LANGUAGES Text: Programming Languages, Design and Implementation Pratt and Zelkowitz 4 th ed. Prentice-Hall.
Presented by Neng-Fa Zhou1 Evolution of programming languages –Machine language –Assembly language –Sub-routines and loop (Fortran) –Procedures and recursion.
Summer 02-03Programming Language Concepts1 Programming Language Concepts (CS 360) Lecture 1: Overview, Grammars, and Little Languages Jeremy R. Johnson.
ISBN Chapter 1 Topics Motivation Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language.
Programming Language Concepts
1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of language is simply that it must convey meaning. (Confucius)
1 Programming Language Concepts Ethics Why study concepts of programming languages (PLs)? PL categories Influences on PL design Problem areas & needs that.
CSE 425: Intro to Programming Languages and their Design A Few Key Ideas No particular language is a prerequisite for this course –However you should be.
PZ01A Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ01A -- Introduction Programming Language Design and.
Chapter 8 High-Level Programming Languages (modified by Erin Chambers)
(1.1) COEN 171 Programming Languages Winter 2000 Ron Danielson.
CS 363 Comparative Programming Languages
Programming Languages –14 David Watt (Glasgow) Steven Wong (Singapore) Moodle : Computing Science → Level 3 → Programming Languages 3 © 2012 David.
By Neng-Fa Zhou1 Evolution of programming languages –Machine language –Assembly language –Sub-routines and loop (Fortran) –Procedures and recursion (Algol,
University of Houston-Clear Lake Proprietary© 1997 Evolution of Programming Languages Basic cycle of improvement –Experience software difficulties –Theory.
1 Programming Languages Marjan Sirjani Course web site:
1 Introduction Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages.
Programming Languages Meeting 14 December 9/10, 2014.
CS 345: Programming Language Paradigms Chris Brooks HR 510 MWF 11:00-12:05.
Engr. Isabelo Jun D. Paat, ME-CoE Lecturer 1 Programming Languages.
Programming Languages
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 1 Overview A good programming language is.
int k = Integer.MAX_VALUE; k++; int k = Integer.MAX_VALUE; k++; What happens when the following code executes? byte b = someFile.readByte(); b = (byte)(b.
1-1 1 Introduction  Programming linguistics: concepts and paradigms syntax, semantics, and pragmatics language processors.  Historical development of.
Evolution of the Major Programming Languages Chapter 2: Evolution of the Major Programming Languages Lectures # 5.
a medium allowing humans and computers to communicate an abstraction of the real world a notation for expressing algorithms the set of all syntactically.
History. Development Driven by Function Functions of a Programming Language –To describe computation for use by computers –To describe computation and.
Language Paradigms CS655.
CPS120 Introduction to Computer Science High Level Language: Paradigms.
Programming Language History and Evolution
Programming Languages 2nd edition Tucker and Noonan
A BRIEF HISTORY OF PROGRAMMING LANGUAGES
Concepts of Programming Languages
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Why study programming languages?
Basic 1964 PC general purpose Imperative Small Easy to use.
Programming Language Design Concepts
Programming Language History and Evolution
Evolution of programming languages
Midterm Review In Text: Chapters 1, 2, 3, 11, 14, 15.
Final Review In Text: Chapters 1-3, 5-11,
Ada – 1983 History’s largest design effort
Midterm Review In Text: Chapters 1-3, 5-7, 15, 16.
Final Review In Text: Chapters 1-11,
Programming Language Design
Final Review In Text: Chapters 1-3, 5-10, 12,
Final Review In Text: Chapters 1-3, 5-10, 12,
Final Review In Text: Chapters 1-3, 5-10,
Final Review In Text: Chapters 1-3, 5-10,
Programming Languages 2nd edition Tucker and Noonan
Final Review In Text: Chapters 1-3, 5-12,
Final Review In Text: Chapters 1-3, 5-16.
Overview of Programming Paradigms
강의 내용 및 방법 접근방법 리포트 시험 Lambda Calculus, Proof of Correctness
Programming Languages and Paradigms
Final Review In Text: Chapters 1-3, 5-16.
Midterm Review In Text: Chapters 1-3, 5-11, 15.
Programming Languages, Preliminaries, History & Evolution
Presentation transcript:

1 Programming Language History and Evolution In Text: Chapter 2

2 Chapter 2: Evolution of the Major Programming Languages Brief Overview of Paradigms Procedural/Imperative Functional/Applicative Logic Object-oriented (closely related to imperative) Problem-oriented/application-specific

3 Chapter 2: Evolution of the Major Programming Languages An Overview of PL History 1950’s: Discovery and description 1960’s: Elaboration and analysis 1970’s: Technology 1980’s: New paradigms 1990’s: Internet influences

4 Chapter 2: Evolution of the Major Programming Languages 1950’s: Discovery and Description FORTRAN (54-57, and on and on): First widely used compiled language Relatively efficient LISP (56-62): First functional language, first support for recursion, activation records, run-time stack First garbage collector, implicit dynamic memory mgmt. Interpreter-based FORTRAN LISP

5 Chapter 2: Evolution of the Major Programming Languages Overview: Procedural/Imperative Describes how the computer should achieve solution Key features: Stored memory Mutable variables Sequencing, selection, iteration Pointers?

6 Chapter 2: Evolution of the Major Programming Languages Overview: Functional/Applicative Based on mathematics of recursive functions Key features: No mutable variables Everything is an expression Everything is a function No iteration (loops) Recursion, recursion, recursion!

7 Chapter 2: Evolution of the Major Programming Languages 1960’s: Elaboration and Analysis ALGOL 58, 60: first universal language. NEW: BNF, block structure, call-by-value, stack-based evaluation, stack-based arrays APL: applicative, no precedence, interpreted COBOL:English-style syntax, records in files BASIC: interactive time-sharing terminals SNOBOL: pattern matching PL/I: the kitchen sink ALGOL COBOL APL BASIC SNOBOL PL/I

8 Chapter 2: Evolution of the Major Programming Languages 1970’s: Technology SIMULA 67: classes, inheritance, data abstraction Pascal: small, elegant, structured programming, teaching C: systems programming, efficiency Modula-2: Pascal + modules, better for systems programming Prolog: first logic language, AI-oriented Smalltalk: pure OO, interpreted, entire system SIMULA 67 Pascal C Modula-2 Prolog Smalltalk

9 Chapter 2: Evolution of the Major Programming Languages Overview: OOP Based on procedural/imperative style, with added data+code abstraction & encapsulation Key features: Encapsulation Inheritance Polymorphism/dynamic binding

10 Chapter 2: Evolution of the Major Programming Languages Overview: Logic Based on predicate logic Declarative: describes what problem is to be solved, but not how Key features: No mutable variables Statements: implications or assertions Every statement succeeds or fails Few explicit control constructs Recursion, recursion, recursion! Must understand implementation model to use

11 Chapter 2: Evolution of the Major Programming Languages 1980’s: New Paradigms Ada: DoD, long committee-based development, large & complex, packages, tasks, generics, exceptions, from real- time to payroll apps. C++: OOP in a popular, widespread language, often seen as a “hybrid” Standard ML, Hope, Miranda, Haskell: functional languages Ada C++ SML

12 Chapter 2: Evolution of the Major Programming Languages 1990’s: Internet Influences Scripting: Perl, TCL, Visual Basic, JavaScript, Python, … Java: designed for portable binaries and internet use, “clean” OO compared to C++, garbage collection, compiled/interpreted hybrid Perl Java

13 Chapter 2: Evolution of the Major Programming Languages Recap of Paradigms Procedural/Imperative Functional/Applicative Logic Object-oriented (closely related to imperative) Problem-oriented/application-specific

14 Chapter 2: Evolution of the Major Programming Languages Paradigms: Key Differentiating Factors What distinguishes one paradigm from another?

15 Chapter 2: Evolution of the Major Programming Languages Languages: Key Differentiating Factors What distinguishes one language from another?