CSE583: Programming Languages

1/4/00


Click here to start


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