University of Virginia, Department of Computer Science
CS655: Programming Languages, Spring 2000

Manifest: Thursday, 20 January 2000
Assignments Due
Today Don't leave until I take your picture!
Fri 21 Jan, 8pm Email your registration survey (questions at
Mon 24 Jan, 11:59pm Position Paper 1 ( Why X Is Not My Favorite Programming Language

(See for links to the papers)

Read before writing position paper 1:
· Dijkstra, How do we tell truths that might hurt?, 1975
Boldness in language critiques
· Dijkstra, A parable, 1973
What does this have to do with programming language design?
· Fred Brooks, Language Design as Design, HOPL-II keynote address, 1993 (no electronic version available)
Principles of good design - when you write your Position Paper, think about violations of these principles.
· Kernighan, Why Pascal Is Not My Favorite Programming Language, 1981
This is optional. Read it if you need inspiration (but not a model) for your Position Paper. Your paper should do a better job than Kernighan did of focusing on fundamental language design flaws.

Read before or after Lecture 2:
· Turbak & Gifford, Applied Semantics of Programming Languages. Chapters 1 and 3.
Introduction, Operational Semantics.

At the end of today's class you should be able to answer:
  • What should I get out of CS655?
  • How do I get an "A" in CS655?
  • What is a programming language?
  • What makes a programming language important?
  • What are some design tradeoffs for programming languages?
  • What makes a programming language good?
Frankly, we didn't have the vaguest idea how the things would work out in detail... We struck out simply to optimze the object program, the running time, because most people at that time believed you really couldn't do that kind of thing.
John Backus (on FORTRAN language and compiler, quoted in 1966)

CS 655 University of Virginia
CS 655: Programming Languages
Last modified: Mon Feb 26 12:48:21 2001