CS 150 lecture 2
340 likes | 501 Vues
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.
CS 150 lecture 2
E N D
Presentation Transcript
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?