Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "CS 150 lecture 2. Review Reasons for studying programming languages Language evaluation criteria –Readability Simplicity? Orthogonality? –Writability."— Presentation transcript:

1 CS 150 lecture 2

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

3

4

5

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

7 Thanks to Google images…

8 Plankakul Konrad Zuse Why did this come to be?

9 Speedcoding John Backus

10 Univac Compiling System Grace Murray Hooper

11 Von Neumann Machines

12 Fortran John Backus and group

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

14 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;

15 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

16 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.

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

18 PL/I Because of?

19 Ken Iverson --APL 1960

20 Ralph Griswold SNOBOL 1960’s String pattern matching

21 SIMULA 1967 Basic idea of class Nygaard and Dahl

22 Niklaus Wirth Pascal Simplicity by design Then Modula Then Oberon

23 Ada 1970’s to 1983 What is ADA for?

24 Alan Kay : Smalltalk OOP Xerox Parc

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

26 C++ Bjarne Stroustrup

27 Bertran Meyer : Eiffel hybrid

28 Jame Gosling : Java SUN

29 C# Anders Hejlsberg Designer of Turbo Pascal Microsoft product

30 For all you Linux buffs

31

32

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

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


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

Similar presentations


Ads by Google