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

Slides:



Advertisements
Similar presentations
1 Scheme and Functional Programming Aaron Bloomfield CS 415 Fall 2005.
Advertisements

Introduction to Programming Languages Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University.
Copyright © 1998 by Addison Wesley Longman, Inc. 1 Chapter One Preliminaries, including –Why study PL concepts? –Programming domains –PL evaluation criteria.
Spring 2010 CS 214 Programming Languages. Details Course homepage: cs.calvin.edu/curriculum/cs/214/ Important dates: February 19: Project language choice.
Object-Oriented Programming OOP John Gilligan School of Computing DIT Kevin St.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 330 Programming Language Structures Chapter 1: Introduction Fall 2006.
Reasons to study concepts of PL
1 Copyright © 1995 by Addison-Wesley Publishing Co. 1. Plankalkül Never implemented - Advanced data structures - floating point, arrays, records.
ISBN Chapter 2 Evolution of the Major Programming Languages.
1 Organization of Programming Languages-Cheng (Fall 2004) Evolution of Programming Languages (CSE452) Instructor: Dr. B. Cheng Fall 2004.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 330 Programming Language Structures Fall 2004 Marco Valtorta
ISBN Chapter 2 Evolution of the Major Programming Languages.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 330 Programming Language Structures Chapter 1: Introduction Spring 2006.
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 2 Evolution of the Major Programming Languages.
Evolution of the Major Programming Languages
Programming languages Prepared by : Jyrald Aquino.
The History of Programming Languages CS 170b Benjamin Gaska, much help from William Mitchell.
1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of language is simply that it must convey meaning. (Confucius)
CS 415: Programming Languages Chapter 1 Aaron Bloomfield Fall 2005.
CSE 3302 Programming Languages Chengkai Li Spring 2008 History of Programming Languages Lecture 2 - History, Spring CSE3302 Programming Languages,
BIT Presentation 6. Contents GENERATIONS OF LANGUAGES COMPILERS AND INTERPRETERS VIRTUAL MACHINES OBJECT-ORIENTED PROGRAMMING SCRIPTING LANGUAGES.
Programming Languages
CSCI Milestones in Computer Development Fall 2007.
Programming Languages – Primary Uses. FORTRAN, LISP, COBOL Supercomputing applications AI development Business software Fun Fact: The Terminator.
Programming language history Created by wordle.net, from the text in this slide.
COMPUTER PROGRAMS AND LANGUAGES Chapter 4. Developing a computer program Programs are a set (series) of instructions Programmers determine The instructions.
COMPUTER PROGRAMMING I SUMMER 2011 Programming Languages.
By Neng-Fa Zhou1 Evolution of programming languages –Machine language –Assembly language –Sub-routines and loop (Fortran) –Procedures and recursion (Algol,
CS 403 Programming Language Theory Class 2 - August 29, 2000.
Programming History. Who was the first programmer?
Introduction to Programming Languages Where do we start to understand programming languages as a core concept of Computer Science? There are literally.
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.
ISBN Chapter 2 Evolution of the Major Programming Languages.
Programming Languages Design Considerations (Qualities) Readability –Simplicity and Clarity –Orthogonality –Control Statements –Data Types and Structures.
Analysis of Programming Language Vladimir Viies Lembit Jürimägi Tallinna.
Gary MarsdenSlide 1University of Cape Town A brief history of programming languages Gary Marsden Semester 2 – 2000.
Fortran Fortran – Formula Translation –Developed by John Backus (IBM) in the mid 1950s. –It was a team effort and the design goal was to produce a translation.
Popular Programming Languages FORTRAN—the oldest high-level programming language; designed for scientific and mathematical applications. John Backus.
1 Chapter 2 © 1998 by Addison Wesley Longman, Inc. 2.1 Plankalkül Never implemented - Advanced data structures - floating point, arrays, records.
Cs7100 (Prasad)L2SpecIntro1 Motivation for Language Specification.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 190 Programming Language Paradigms Fall 2014
A Short History of PL's (MacLennan 1999) “Zeroth Generation” (1940's-50's): machine language / assembly: if/then, read/write, store, goto
Chapter 1: Preliminaries Lecture # 2. Chapter 1: Preliminaries Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation.
CS 313 History of Programming Languages
History of Programming Languages Compiled by Wasim Ahmad Khan.
C++ Programming Chapter 1 Programming & Programs.
Structured programming 1 st stage By Heba.A Raheem Assist Lecturer College of Sciences/Computer Sciences Department.
History. Development Driven by Function Functions of a Programming Language –To describe computation for use by computers –To describe computation and.
CS451 Programming Languages. Why study languages? Description- how to best document languages? Evaluation - which is the best language to use? Learning.
Programming Language History and Evolution
CSCE 190 Programming Language Paradigms
Assembly Language Specific to each machine Extremely low level
Chapter 1 Preliminaries.
Language History The Main Line
Programming Language History and Evolution
Evolution of programming languages
Evolution of the Major Programming Languages
Chapter 2 Plankalkül – Never implemented
CSCE 190 Programming Language Paradigms
Cobol Design goals: Problems
Motivation for Language Specification
2.1 Plankalkül Pseudocodes Never implemented
CSCE 190 Programming Language Paradigms
Motivation for Language Specification
Programming Languages
Presentation transcript:

CS 150 lecture 2

Review Reasons for studying programming languages Language evaluation criteria –Readability Simplicity? Orthogonality? –Writability Influences on language design Language design trade offs Implementation methods

“those that forget their history are doomed to repeat it.”

Thanks to Google images…

Plankakul Konrad Zuse Why did this come to be?

Speedcoding John Backus

Univac Compiling System Grace Murray Hooper

Von Neumann Machines

Fortran John Backus and group

LISP 1958 (defun append (L M) (cond ((null L) M) (T (cons (car l) (append (cdr L) M)) ))) John McCarthy

ML (Meta Language) 1980’s Robin Milner fun size Empty = 0 (* size of b_tree = # nodes *) | size (Node (lft, _, rht)) = 1 + size lft + size rht;

Peter Naur : ACM and GAMM ALGOL ALGOL 58 Program // the main program, calculate the mean of // some numbers begin integer N; Read Int(N); begin real array Data[1:N]; real sum, avg; integer i; sum:=0; for i:=1 step 1 until N do begin real val; Read Real(val); Data[i]:=if val<0 then -val else val end; for i:=1 step 1 until N do sum:=sum Data[i]; avg:=sum/N; Print Real(avg) end end

Grace Murray Hopper, again COBOL 1959 PROCEDURE DIVISION. MAIN-PARAGRAPH. MOVE X TO Y IF Y > Z THEN ADD Z TO X MOVE X TO Z ELSE DISPLAY END-IF STOP RUN.

John Kemeny of Dartmouth BASIC Dartmouth 1960’s LET X=5 DIM INTLIST(99) INPUT LISTLEN

PL/I Because of?

Ken Iverson --APL 1960

Ralph Griswold SNOBOL 1960’s String pattern matching

SIMULA 1967 Basic idea of class Nygaard and Dahl

Niklaus Wirth Pascal Simplicity by design Then Modula Then Oberon

Ada 1970’s to 1983 What is ADA for?

Alan Kay : Smalltalk OOP Xerox Parc

C Dennis Ritchie Based on the language B At Bell labs – used in the UNIX project

C++ Bjarne Stroustrup

Bertran Meyer : Eiffel hybrid

Jame Gosling : Java SUN

C# Anders Hejlsberg Designer of Turbo Pascal Microsoft product

For all you Linux buffs

Class discussion Continuation of evolution? What would be the ideal programming language today?

Assignment How/In what terms did the speaker discuss evolution in the video? Is he an advocate of functional programming languages or no?