Download Lecture 32 : Course Summary

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Stream processing wikipedia , lookup

Join-pattern wikipedia , lookup

C++ wikipedia , lookup

Object-relational impedance mismatch wikipedia , lookup

Parsing wikipedia , lookup

Control flow wikipedia , lookup

Falcon (programming language) wikipedia , lookup

Go (programming language) wikipedia , lookup

Abstraction (computer science) wikipedia , lookup

Logic programming wikipedia , lookup

Functional programming wikipedia , lookup

C Sharp (programming language) wikipedia , lookup

Programming language wikipedia , lookup

Object-oriented programming wikipedia , lookup

Reactive programming wikipedia , lookup

Structured programming wikipedia , lookup

Transcript
Course Summary
Programming Language Principles
Lecture 32
Prepared by
Manuel E. Bermúdez, Ph.D.
Associate Professor
University of Florida
Course Topics
•
•
•
•
•
•
•
•
•
•
Paradigms.
Parsing.
RPAL.
Names, Scopes and Bindings.
Attribute Grammars.
Control Flow.
Data Types.
Subprograms.
Denotational Semantics.
Logic Programming.
Course Topics (cont’d)
• Concurrent Programming.
• Object-Oriented Programming.
Focus on issues: Linguistics of
Programming.
Two parts:
• Syntax (easy).
• Semantics (hard).
Programming (Language)
Paradigms
• FOUR PARADIGMS OF COMPUTING
• Imperative:
• WHAT DO WE DO NEXT ?
• Functional:
• WHAT IS THE FUNCTION’S VALUE ?
• Logic:
• WHAT CONDITIONS ARE NEEDED ?
• Object-Oriented:
• WHAT IS THE OBJECT’S BEHAVIOR ?
Topics Not Covered
• Programming Language Design.
• Programming Language
Implementation.
• Formal Models for Type Systems.
• Axiomatic Approach to Semantics.
• History of Programming Languages.
– For a very nice presentation, see
Chapter 24 of
www.webber-labs.com/mpl/lectures/index.html
Some Observations
Programming Languages are:
• Like humans:
– Love/hate relationship.
• Incredibly diverse. PAL is listed among
the 2500+ languages at
http://people.ku.edu/~nkinners/
LangList/Extras/langlist.htm
• RPAL is also among 737 languages listed
at http://www.99-bottles-of-beer.net
Some Observations (cont’d)
Programming languages are:
• Subject to heated debates, (almost)
religious fervor.
– See comp.lang.* newsgroups.
• Constantly evolving, with many
dialects.
• Unpredictable when it comes to
achieving widespread use.
Some Observations (cont’d)
Programming languages are:
• Influential on programming practice
(and vice-versa).
– Goto’s, O-O programming.
• Influential on machine architecture
(and vice-versa). Think of:
– Stack support, parallel computing,
Internet.
– Lately, power efficiency.
Some Observations (cont’d)
Programming languages are:
• A lot of FUN !
A final quote, from Carl Sagan ...
Course Summary
Programming Language Principles
Lecture 32
Prepared by
Manuel E. Bermúdez, Ph.D.
Associate Professor
University of Florida