SlideServe
Menu
Préférences
© SlideServe · v2026

CS 150 lecture 2

amelia avatar
34 diapositives · 512 Views · Aug 21, 2014

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 - slide 1
01 / 34CS 150 lecture 2
1 / 17

Télécharger la présentation

CS 150 lecture 2
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  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. “those that forget their history are doomed to repeat it.”

  4. Thanks to Google images…

  5. Plankakul • Konrad Zuse • Why did this come to be?

  6. Speedcoding • John Backus

  7. Univac Compiling System • Grace Murray Hooper

  8. Von Neumann Machines

  9. Fortran • John Backus and group

  10. LISP1958 (defun append (L M) (cond ((null L) M) (T (cons (car l) (append (cdr L) M)) ))) John McCarthy

  11. 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;

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

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

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

  15. PL/I • Because of?

  16. Ken Iverson --APL 1960

  17. Ralph GriswoldSNOBOL 1960’s • String pattern matching

  18. SIMULA 1967 • Basic idea of class • Nygaard and Dahl

  19. Niklaus WirthPascal • Simplicity by design • Then Modula • Then Oberon

  20. Ada 1970’s to 1983 • What is ADA for?

  21. Alan Kay : Smalltalk • OOP • Xerox Parc

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

  23. C++ • Bjarne Stroustrup

  24. Bertran Meyer : Eiffel • hybrid

  25. Jame Gosling : Java • SUN

  26. C# • Anders Hejlsberg • Designer of Turbo Pascal • Microsoft product

  27. For all you Linux buffs

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

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