Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 3723 Programming Languages

Similar presentations


Presentation on theme: "CS 3723 Programming Languages"— Presentation transcript:

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.


Download ppt "CS 3723 Programming Languages"

Similar presentations


Ads by Google