He bashes the hell out of OO too!
You can't please everybody
From the History of Smalltalk by Alan Kay
"The biggest hit for me while at SAIL in late '69 was to really understand LISP. Of course, every student knew about car, cdr, and cons, but Utah was impoverished in that no one there used LISP and hence, no one had penetrated the mysteries of eval and apply. I could hardly belive how beautiful and wonderful the idea of LISP was. I say it this way because LISP had not only been around enough to get some honest barnacles, but worse, there were deep flaws in its logical foundations. By this, I mean that the pure language was supposed to be based on functions, but its most important components -- such as lambda expressions, quotes, and conds--were not functions at all and instead were called special forms. Landin and others had been able to get quotes and conds in terms of lambda by tricks that were variously clever and useful, but the flaw remained in the jewel."
So I guess you can't please everybody.
That was lovely cheese.
--Wallace, The Wrong Trousers
Re: He bashes the hell out of OO too!
My own feeling is that object-oriented programming is a useful technique in some cases, but it isn't something that has to pervade every program you write. You should be able to define new types, but you shouldn't have to express every program as the definition of new types.Yup, that's quite a bashing...
I personally have never needed object-oriented abstractions. Common Lisp has an enormously powerful object system and I've never used it once. I've done a lot of things (e.g. making hash tables full of closures) that would have required object-oriented techniques to do in wimpier languages, but I have never had to use CLOS.I remember reading once where someone described objects as a "poor man's closure". So should one consider a hash table full of closures an object oriented design or a functional design?
I found the link to that quote: [link|http://www.ai.mit.edu/~gregs/ll1-discuss-archive-html/msg03277.html|http://www.ai.mit.ed...tml/msg03277.html]
(Edited to add link)
Edited by johnu Aug. 4, 2004, 10:15:11 AM EDT