University of Virginia, Department of Computer Science
CS200: Computer Science, Spring 2002

Notes: Wednesday 6 March 2002
Schedule

Recommended Reading:
http://www.rheingold.com/texts/tft/11.html. Howard Rheingold, Tools for Thought, Chapter 11: The Birth of the Fantasy Amplifier.
(define (make-ocounter)
  ((lambda (count)
     (lambda (message)
       (if (eq? message 'reset)
	   (set! count 0)
	   (if (eq? message 'next) 
	       (set! count (+ 1 count))
	       (if (eq? message 'how-many)
		   count)))))
   0))
(define (make-ocounter)
  (let ((count 0))
    (lambda (message)
      (if (eq? message 'reset) 
	  (set! count 0)
	  (if (eq? message 'next) 
	      (set! count (+ 1 count))
	      (if (eq? message 'how-many)
		  count))))))
What is an object?






How to Smalltalk-ers add 2 + 3?






Why is inheritance useful?






The best way to predict the future is to invent it. — Alan Kay

Alan Kay's Third Law: If you have an idea, and its not a good idea, take a nap instead of implementing it.

Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.


CS 655 University of Virginia
Department of Computer Science
CS 200: Computer Science
David Evans
evans@cs.virginia.edu
Using these Materials