Programming Languages (CSC-302 98S)
Outline of Class 4: Design, Continued
Held: Monday, January 26, 1998
- Don't forget today's brown-bag lunch, with a video by James Gosling,
leader of the Java team, describing Java. Gosling is noted for many
things, some good, some bad. He developed one of the worst versions
of emacs that I've used (and is therefore the reason I use vi).
- The department would like as many of you as possible to take the ETS
major field test. We need to get orders in today, so please talk to
me or Mr. Walker about signing up. Your test will not be used to
evaluate you; rather, it is being used to provide baseline data for
the department as a whole.
- Note that there is a class in the MathLAN laboratory at the same time
as our class. Please don't exit through the back of the room.
- Are there any questions on
- Note that we're not quite matching the original
syllabus. That's okay; the
most likely implication is that we'll drop the presentations requirement.
- The Grinnell Review is seeking submissions of academic papers (research,
essays, etc.) for publication in the 1997-98 edition of the magazine. The
papers can be about any topic, so long as they are of general interest.
All members of the Grinnell community are invited to submit their work.
Send submissions to box 09-26 by February 20th. Vax [REVIEW] with any
- Sorry for not getting the outline done early. I spent much of the
weekend at a faculty retreat.
- There are also a number of other, "more primitive" criteria that
help contribute to the four basics.
- Simplicity. A language should not have too many features
nor too many ways to express the same concept.
- Orthogonality and Uniformity. Primitive operations can
be combined freely to provide more powerful operations. The same operation
can always be used in the same when. Also a lack of "special cases".
- Rich Control Structures.
- Support for defining Data Structures.
- A useful Typing System.
- A clear, understandable, and reasonable Syntax. The legendary
"NASA Fortran DO typo" is an example of bad syntax, as is the
=- operator in the original C.
- A language with standards for writing programs often has
greater readability. Standards for libraries also enhance
- It should be easy to work with abstractions of subproblems and
data, rather than always dealing with underlying representation or
- The list can get fairly detailed. Does the language permit exception
handling? Does it permit aliasing? How expensive is compilation?