Presentation is loading. Please wait.

Presentation is loading. Please wait.

Language History The Main Line

Similar presentations


Presentation on theme: "Language History The Main Line"— Presentation transcript:

1 Language History The Main Line

2 Pre-History Blaise Pascal Leibnitz Carles Babbage 1830-1840
The difference engine the first programmer: Ada, Countess Lovelace The Jacquard Loom and its punched cards

3 The early Modern era

4 0. Plankalkul (Zuse) 1945 - a prototype language 1. Fortran (Backus--IBM) - later WatFIV, Fortran 77 and Fortran 90+ (ISO) - scientific work 2. COBOL (Admiral Hopper -- USN) - business 3. ALGOL 58-60 - Zurich - block structure - formal definition in BNF (a metalanguage) - heavily influenced everything after

5 For Symbolic Manipulation (functional or applicative)
4. LISP 56-62 - John McCarthy MIT 1958 - non VonNeumann - no variables, assignments, or goto - now Common Lisp 5. *APL (Iverson) - operator rich - needs special keyboard 6. *SNOBOL (Griswald - Bell labs) - StriNg Oriented symBOLic Language * a dynamic language—interpreted not compiled

6 The all-in-one language
7. PL/ IBM - borrowed from everything prior - tried to combine COBOL, FORTRAN, LISP - exception handling - primitive multitasking - large; many previously untried features - a temporary success in academia - too large to learn properly

7 Late 60's ALGOL successors
8. ALGOL-68 (committee effort) - like PL/1 in being feature-rich (bloated) - very orthogonal 9. ALGOL-W (Wirth&Hoare) (late 60s) - his reaction to ALGOL-68 10. SIMULA-67 (Nygaard & Dahl—Oslo) - from SIMULA-1 ( ) - includes ALGOL-67 - to solve simulation problems - some parallelism possible - first language with CLASS; first OO language

8 Late 60's ALGOL successors (cont’d)
11. Pascal (1971 Wirth) - simple but powerful - widely used in teaching - a huge impact to the late 1990s - descendants include → UCSD → ISO version → Object Pascal (Wirth on contrat to Apple) →Turbo →Delphi environment → Ada, Modula-2, etc.

9 Hobbiest Languages 12. BASIC (1964 Kemeny & Dartmouth) - simplified Fortran, also ALGOL influence - line numbers to control sequence - timeshared on large machines, built-in on the smaller - early versions not well defined - limited control structures and data types - integrated editing and interpreting - descendants include ASCI BASIC, Real Basic (K&K), Future Basic 13. LOGO - interactive language for teaching children

10 The Middle era

11 Results of the 70s experiments
14. C (1972 Bell) - another ALGOL descendent - designed for systems work, eg UNIX (re-written in C) - a middle level language - standardized bu ANSI in 1989 15. Euclid U of T) - Pascal, extended with Modules 16. Mesa ( Xerox) - had concurrency facilities

12 17. Ada (1979 US DOD) (no longer mandated by DoD)
- another Pascal replacement - committee designed, large and complex - largest design effort ever; took 4y to get a compiler - completely specified, including libraries - got ISO version in 1990s as Ada95 18. Modula-2 ( reaction to Ada) -much simpler than Ada, but as powerful - replacement for Pascal - teaching, real time (embedded) systems, general use - influenced by Mesa & Modula (a real time notation) - got ISO version in 1990s + generic & OO extensions

13 The early Modula-2 Descendents
19. Modula* (for parallel processing) 20. Modula-GM (used only at General Motors) 21. Modula-3 (Olivetti and DEC) - OO version 22. Oberon (Wirth) - widely used in European Universities - has many versions including Component Pascal - stripped down Modula-2 ;OO added in Oberon-2 - included an operating system & editor - never completely specified

14 Other 70's and 80s experiments
23. Smalltalk (71-80 by Alan Xerox) - from SIMULA-67 - an OO language; several implementations available 24. Scheme (75-77 Sussman & MIT) - variation of LISP - used in several universities for beginners 25. PROLOG (1972, French) - logic programming, AI an intelligent DB? 26. Eiffel (1985 Meyer) - Pascal-like OO language - smaller and simpler than C++

15 The Modern era

16 Results of 90's work I Language Extensions; Alterations 27. C++ (Bjarne Stroustrop, draft 1995) - C with OO, some deprecations - many new features, similarities to SIMULA - has generics (templates for ADTs) - ISO standardized, more compliant compilers now - large, complex, non-orthogonal 28. Modula-2 extensions - ISO committee adds OO and generics 29. J (Iversons) - an ASCII replacement of APL

17 I Language Extensions; Alterations Cont’d.
30. Object Pascal (Wirth, for Apple computing) 31. Objective C (Became Another Apple project) 32. Scheme (MIT: Abelson and Sussman - from LISP)

18 II Visual Languages and environments
33. Delphi (Borland 1995) - migration from Turbo Pascal, includes Object Pascal - many features from Modula-2 34. Visual Basic (MS described in 1987) - widely used by non-professionals after 1991) 35. Visual C++ (MS)

19 36. Java (Sun Microsystems) - pure OO; all code part of objects
Newer Languages 36. Java (Sun Microsystems) - pure OO; all code part of objects - no standalone subprograms; no true pointers - borrows syntax from C, C++ - ideas from Pascal, Modula-2, and Smalltalk - J++ is the MS version 37. JavaScript(ECMAScript) - A net scripting language; runs client side in browsers - with Ajax can do dynamic loading into static pages

20 38. PHP - a net scripting language that runs server-side - used with databases; MySQL querying capabilities - integral part of LAMP environments (LINUX, Apache, MySQL, PHP) 39. Perl - scripting language;extensive string manipulation capabilities 40. C# (Microsoft) - an attempt to replace Java with an MS proprietary language; similar design - runs in .NET

21 41. Python - an interpreted multipurpose OO language - descended from Modula-2 but written more like C 42 . Ruby - dynamic typing, extensible - syntax similar to Eiffel and Ada - pure OO language - with the "Rails" environment - used in conjunction with JavaScript - now sometimes standalone (not in Apache)

22 The Latest & Going Forward

23 projects (1) 43. Swift (Apple; released June 2014) - from Objective-C - Apple ecosystem programming; not general-purpose - has a visual “playground” - safety, security, extensibility

24 projects (2) 44. MODULA-2 R10 (design 2010, finalized 2015) - Sutcliffe & Kowarsch - from Classic Modula-2, not ISO, GM, or Modula-3 - General purpose - safety, security, extensibility - OO and concurrency left for a later edition - templates for generics, blueprints for ADTs - small, very powerful, extensive library system - incorporates latest ideas and design principles - built-in procedures are Wirthian macros that are translated at compile time

25 Others specialized query and database languages markup notations HTML (+Ajax), XML, JSP (Java Server Pages) macro notations including VBA C or Pascal-like add ons scripting languages (TCL/TK. Perl, AWK, AppleScript JavaScript(ECMAScript) and many more not mentioned here (see the text).

26 Issues: Language portability can be achieved by standards compiling to a virtual machine interpreter UCSD, JVM, Gardens Point The book has extensive evaluations of some of these Take these, mine, and yours with a grain of salt

27 - 30 -


Download ppt "Language History The Main Line"

Similar presentations


Ads by Google