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

Manifest: Thursday, 17 February 2000
Assignments Due
Today in class Elevator Speeches
Monday, 21 Feb 11:59pm Position Paper 2: An Array of Arrays
Thursday, 24 Feb, 11amSend email about assigned readings, see below.
Monday, 28 Feb 11:59pm Position Paper 3: CLUs about Ada
Thursday, 2 March in class Problem Set 2: Types

Readings

Read before Tuesday 22 Feb (handed out 15 Feb):

· Barbara Liskov and Jeannette Wing. Behavioral Subtyping Using Invariants and Constraints. CMU-CS-99-156 (based on November 1994 ACM TOPLAS paper).

Read before Thursday 24 Feb:

· Bertrand Meyer. Eiffel: An overview of the language and method From ISE Eiffel: The Environment, 1995.
· Bertrand Meyer. Static typing and other mysteries of life. Keynote lecture at OOPSLA '95.
Most programming language experts believe Eiffel's type system is seriously flawed. Can you figure out why?

· Clemens Szypersky, Stephen Omohundro, Stephan Murer. Engineering a Programming Language: The Type and Class System of Sather . ICSI Techreport TR-93-064.

Sather was designed to fix some of the flaws in Eiffel. Identify at least one substantial improvement in Sather and send mail to cs655-staff@cs.virginia.edu describing it. If you can't, send mail with three questions relating to the assigned readings. This mail should be received before 11am on Thursday 24 Feb.

· Stephan Murer, Stephen Omohundro, David Stoutamire and Clemens Szyperski. Iteration Abstraction in Sather. Transactions on Programming Languages and Systems, Jan 1996.

Optional, but interesting. Are Sather's iterators more like Algol's call-by-name or CLU's iterators?

Read before Tuesday 29 Feb (handed out today):

· John Viega, Paul Reynolds and Reimer Behrends. Automated Delegation is a Viable Alternative to Multiple Inheritance in Class Based Languages. 1999.

Send me one good quesion or comment about this paper before 11am 29 Feb. John Viega will give a guest lecture based on this work in class on 29 Feb.

Questions
Think Java. Write new applications in Java. Rewrite legacy apps with Java.

Don't upgrade or downgrade. Sidegrade instead to a Java desktop device. Don't get hit with the PC's massively negative ROI.

I don't understand why anybody would be programming in anything other than Java.
Scott McNealy, Open Finance (a Sun publication), Spring 1997.


CS 655 University of Virginia
CS 655: Programming Languages
cs655-staff@cs.virginia.edu
Last modified: Mon Feb 26 12:48:23 2001