CSCI 599: An Introduction to Programming Languages
Welcome and Introduction Mukund Raghothaman Fall 2020
CSCI 599: An Introduction to Programming Languages Welcome and - - PowerPoint PPT Presentation
CSCI 599: An Introduction to Programming Languages Welcome and Introduction Mukund Raghothaman Fall 2020 Programming Languages System of communication used by a country or community 2 Programming Languages Notation for specifying a
Welcome and Introduction Mukund Raghothaman Fall 2020
2
3
worldview (Controversial)
(Dogma for the purposes of this course)
4
https://www.wnycstudios.org/podcasts/radiolab/segments/211213-sky-isnt-blue
constructs
5
algorithms
6
7
[Pascal Rigaux]
John McCarthy 1927—2011 Turing Award 1971 John Backus 1924—2007 Turing Award 1977 Robin Milner 1934—2010 Turing Award 1991 OCaml
Programs are easier to think about
Elegant ways to construct and destruct data
Functions can be passed around just like values
Programs have fewer bugs
Make the compiler work for you
Can generalize computation across many types
Make the runtime work for you
Elegant ways of structuring large systems
8
Lisp (1958) ➔ Python (1990), Java (1995)
ML (1975) ➔ C++ (1986), Java (2004)
Lisp (1958) ➔ C# (2007), C++ (2011), Java (2014)
ML (1982) ➔ C++ (2011), Java (2011)
9
10
11
12
13
14
15
16
17
18