Manifest: Tuesday, 1 February 2000
Assignments Due | |
Today after class | Schedule meeting with your project team |
Thursday 3 Feb, in class | Problem Set 1: Operational Semantics |
Wednesday, 16 Feb | Project Proposals |
Thursday, 17 Feb, in class | Project Elevator Speeches |
Reminder: Read before Thursday's class (see Jan 27's Manifest):
· | Bernad A. Galler, The FORTRAN Language; David Gries, Algol 60 Language Summary | |
· | P. Nauer, et. al., Report on the Algorithmic Language Algol 60. Comm. of the ACM, 1963. | |
· | D. E. Knuth, The Remaining Troublespots in Algol 60. Comm. of the ACM, 1967. |
Read before next Tuesday's class (handed out today):
Note: You don't need to read all of these papers, but should select either the Algol68 paper and any other paper of your choosing (where the two Pascal papers count as one), or all the other four papers:
(Algol68 + (Bliss | both Pascal Papers | C)) | (Bliss + both Pascal Papers + C)These papers describe four languages of the late sixties - early seventies. Most programming language researchers consider C the worst of the four, but it is undeniably the most successful. As you read these papers, try to figure out what it was the other languages did wrong and C did right, to lead to the other languages failure (except arguably Pascal), and C's success.
· | A. S. Tanenbaum. A Tutorial on Algol 68, Computing Surveys, 1976. | |
Algol 68 is a very interesting and influential language, but was never
widely used. It illustrates where a deisgn principle (in this case
orthogonality) is followed to such an extent that practical
considerations are ignored.
|
||
· | W. A. Wulf, D. B. Russell, and A. N. Habermann. BLISS: A Language for Systems Programming. Communications of the ACM, December 1971. | |
Pay particular attention to the section on Data Structures.
|
||
· | N. Wirth. An Assessment of the Programming Language Pascal, IEEE Transactions on Software Engineering, June 1975. | |
· | J. Welsh, W. Sneeringer and C. A. R. Hoare. Ambiguities and Insecurities in Pascal, Software Practice and Experience, 1977. | |
Two short papers evaluating Pascal. Read these thinking about how well
Pascal accomplished its design goals.
|
||
· | D. M. Ritchie, S. C. Johnson, M. E. Lesk and B. W. Kernighan. The C Programming Language. Bell System Technical Journal, July-August 1978. | |
They write, Several hundred programmers within Bell Laboratories
and many outside use C as their primary programming language. How
come C became so succesful?
|
FORTRAN | Algol60 | BLISS | Algol68 | Pascal | C | |
---|---|---|---|---|---|---|
Design Goals | ||||||
Guiding Principle | ||||||
Types | ||||||
Variables (declaration, scoping) | ||||||
Control Structures | ||||||
Parameter Passing | ||||||
Most Novel Aspect | ||||||
Biggest Mistake(s) | ||||||
Excuse for Mistakes |
|
Algol 60 was not only an improvement on its predecessors,
but also on nearly all its successors.
C. A. R. Hoare |
University of Virginia CS 655: Programming Languages |
cs655-staff@cs.virginia.edu Last modified: Mon Feb 26 12:48:24 2001 |