Table of Contents
CSE583:Programming Languages
Central focus
Tonight
Distance learning
Administrivia: see web page
My prejudices
Two most important benefits
Sapir-Whorf hypothesis
What was your first language?
Flon’s Law
Why study programming languages?
Why study programming languages?
So why?
A Partially Correct History of Programming Languages
More…
More…
More…
Sammet’s view
Another chronology of influential languages
What is your primary programming language?
Tradeoff between expressiveness and performance
Basic language design principles
Abstraction
Automation
Labeling
Parameter labeling
Parameter labeling in Ada
Defense in Depth
Localized cost
Orthogonality
Regularity
Security
Simplicity
Structure
Syntactic consistency
Zero-one-infinity
Others from MacLennan
Feature interaction
Communication is central
Ideally, it should be easy to…
Tools also interact with the language
A whirlwind tour…
Types
Strong vs. weak typing
Static vs. dynamic typing
Types (miscellaneous)
Imperative programming paradigm
Object oriented paradigm
Functional programming paradigm
Functional (con’t)
Logic programming paradigm
Constraint logic programming paradigm
Domain specific languages
Questions?
|
Author: David Notkin
Email: notkin@cs.washington.edu
Home Page: http://www.cs.washington.edu/education/courses/583
Download presentation source
|