Manifest: Tuesday, 15 February 2000
Assignments Due | |
Wednesday, 16 Feb | Project Proposals |
Thursday, 17 Feb in class | Elevator Speeches |
Monday, 21 Feb 11:59pm | Position Paper 2: An Array of Arrays |
Monday, 28 Feb 11:59pm | Position Paper 3: CLUs about Ada |
Read before Thursday's class (handed out today):
· | Bjarne Stroustrup. What is "Object-Oriented Programming"?. Proceedings of the First European Software Festival, 1991 revised version. | |
The object of reading this paper is for you to think objectively about
whether or not you object to Stroustrup's possibly objectionable
definition of object-oriented programming. Read his section 3 with a
critical eye - how many of his complaints about data abstraction
facilities are solved by languages with good support for data
abstraction (such as CLU)? Does his definition of an abstract type
(he prefers "user-defined type") bely a prejudice or a lack of
understanding? His description of an exception mechanism that
resembles the ones found in Clu (sic) either is incorrect or
assumes a very loose definition of resembles (we'll return to
this later, after reading a paper on CLU's exception mechanisms). You should be able to find at least two bugs or serious deficiencies in his example programs. (Despite all these flaws, its a good paper summarizing the language features that enable object-oriented programming.)
| ||
· | Daniel Ingalls. Design Principles Behind Smalltalk. BYTE Magazine, August 1981. | |
This paper presents a starkly different view of what object-oriented programming is all about from the Stroustrup paper. Twenty years later, typical programmers are still using languages far further from natural thought processes than Smalltalk-80. How do you think the Smalltalk designers think about their Natural Selection property today? |
Read sometime this week (handed out today):
· | Raymie Stata and Martin Abadi. A Type System for Java Bytecode Subroutines. POPL '98. | |
Make sure to read and understand complete Sections 1-4 (you'll need to
understand this well to do Problem Set 3, will be handed out
Thursday). You should attempt to read the rest of the paper, but
don't worry if you don't understand everything in Sections 5-7. This
is a recent paper in the premier theoretical programming languages
conference - if you succeed in understanding it, you should consider
this a major accomplishment, pat yourself on the back, and enjoy the
beverage of your choice. (And then get back to working on your
project.)
|
Read before Tuesday 22 Feb:
· | Barbara Liskov and Jeannette Wing. Behavioral Subtyping Using Invariants and Constraints. CMU-CS-99-156 (based on November 1994 ACM TOPLAS paper.) | |
A challenging, but worthwhile paper. As you read it, attempt to relate their rules for subtyping to the programming problem they are trying to solve: making programs written without knowledge of all possible subtypes work as expected with new subtypes.
|
|
University of Virginia CS 655: Programming Languages |
cs655-staff@cs.virginia.edu Last modified: Mon Feb 26 12:48:24 2001 |