CS201J: Engineering Software, Fall 2002
|
Notes: Tuesday 29 October 2002
Schedule
- Thursday, October 31: Problem Set 5: Part 2
Subtyping Arrays
What are the advantages of allowing B[] <= A[] when B <= A?
What are the dangers of allowing B[] <= A[] when B <= A?
Abstract Types in C
How can we get the benefits of data abstraction in a language with user-defined types but no abstract data types?
Species.htypedef /*@abstract@*/ struct { /*@only@*/ char *name; /*@only@*/ char *genome; } *Species; extern /*@only@*/ Species Species_new (/*@only@*/ char *p_name, /*@only@*/ char *p_genome) /* EFFECTS: Returns a new Species with name p_name and genome p_genome. */ ; extern /*@observer@*/ char *Species_getName (Species s) ; extern /*@observer@*/ char *Species_getGenome (Species s) ; extern /*@only@*/ char *Species_toString (Species s) /* EFFECTS: Returns a string representation of s. */ ;Links
- Dennis Ritchie, Development of the C Language
- Dennis Ritchie's home page has links to many interesting resources on C, and a nice story about his trip to the White House to get the 1998 National Medal of Technology
- Splint
University of Virginia Department of Computer Science CS 201J: Engineering Software |
Sponsored by the National Science Foundation |
cs201j-staff@cs.virginia.edu |