Download presentation
Presentation is loading. Please wait.
1
CS 3723 Programming Languages
Kevin Baldor
2
Why are you here?
3
Why are you here? Why learn more than one programming language?
4
Why are you here? Why learn more than one programming language?
How many can there possibly be?
5
Why are you here?
6
Why are you here?
7
Why are you here?
8
How did we get into this mess?
9
How did we get into this mess?
10
How did we get into this mess?
Alonzo Church
11
How did we get into this mess?
12
How did we get into this mess?
13
How did we get into this mess?
Benedict Cumberbatch
14
How did we get into this mess?
Benedict Cumberbatch
15
How did we get into this mess?
Alan Turing
16
How did we get into this mess?
Alan Turing
17
How did we get into this mess?
Alonzo Church
18
How did we get into this mess?
Alan Turing
19
How did we get into this mess?
Say, how do you suppose that we might model a mechanical means of computation? Alonzo Church
20
How did we get into this mess?
Alan Turing
21
How did we get into this mess?
Alan Turing
22
How did we get into this mess?
Alan Turing
23
How did we get into this mess?
Alan Turing
24
How did we get into this mess?
Alan Turing
25
How did we get into this mess?
Alan Turing
26
How did we get into this mess?
Alonzo Church
27
How did we get into this mess?
Alonzo Church
28
How did we get into this mess?
Alonzo Church
29
How did we get into this mess?
Alonzo Church
30
How did we get into this mess?
Alonzo Church
31
How did we get into this mess?
Alonzo Church
32
Turing had a bit of help. John Von Neumann
33
Two models so far! Turing Machines Lambda Calculus
More like an actual machine State-modifying Order-of-operation is important Lambda Calculus Symbolic Expression transformations Order-of-operations (when legal) is not important
34
But what does this have to do with real-world programming languages?
Different people can be more effective solving the same problem in different ways Personal Preference Some problems are more easily solved using one paradigm than another
35
Broad Categories of Language Features
Imperative Structured Object-Oriented Functional Logical
36
Imperative Languages Statements the modify variables
37
Structured "GOTO considered harmful"
38
Object-Oriented Structured, but the data is coupled to the methods that modify it. Emphasis on Abstraction Encapsulation Often, but not always, inheritance.
39
Functional Emphasis on pure functions No side effects
Calling a function with the same arguments always returns the same value
40
Logic Declarative programming style
The programmer specifies what she wants, not how to get it Prolog (PROgrammable LOGic) is the classic example, but SQL could qualify as well.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.