340 likes | 495 Views
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.
E N D
Review • Reasons for studying programming languages • Language evaluation criteria • Readability • Simplicity? • Orthogonality? • Writability • Influences on language design • Language design trade offs • Implementation methods
Plankakul • Konrad Zuse • Why did this come to be?
Speedcoding • John Backus
Univac Compiling System • Grace Murray Hooper
Fortran • John Backus and group
LISP1958 (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 GAMMALGOL 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, againCOBOL 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 DartmouthBASIC Dartmouth 1960’s LET X=5 DIM INTLIST(99) INPUT LISTLEN
PL/I • Because of?
Ralph GriswoldSNOBOL 1960’s • String pattern matching
SIMULA 1967 • Basic idea of class • Nygaard and Dahl
Niklaus WirthPascal • 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
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?