4 ms·
My original point is Alan Kay has made a hobby of co-opting virtually any paradigmatic trend or fad that has arisen since his original work on Smalltalk, usuall
by raganwald 13y ago
My original point is Alan Kay has made a hobby of co-opting virtually any paradigmatic trend or fad that has arisen since his original work on Smalltalk, usually claiming Smalltalk did it first/better/whatever.
Lisp was co-opting everything long before Smalltalk started co-opting everything.
But on to the main point: what am I attacking here? Nothing, in fact, I think the post is praising the idea that discussing his quote is a useful exercise, leading to fertile grounds.
Whether OOP is or isn't what he says it is, or whether greenspunning a feature is somehow less useful than choosing a language with that feature built in is an exercise I leave to the reader with little comment other than the observation that while i no longer program in Java, I haven't gone so far as to adopt Clojure or Squeak.
- coolsunglasses 13y agoI use Clojure and Haskell, I live in the future above and beyond what traditional Lisps have ever offered. I just find the aggrandizement of those-that-came-before obnoxious and unfair to people doing work here and now.
- raganwald 13y agoWhat aggrandizement is this? Or is the very idea of quoting Mr. Kay odious to you? I think this is a simple case of you having an axe to grind, and my post being a rough surface.
- coolsunglasses 13y ago>I think this is a simple case of you having an axe to grind, and my post being a rough surface. Probably so.
- tokenrove 13y agoThe flip side is that people have been reinventing Lisp Machines and Smalltalk environments, poorly, for the last two decades, and many would argue we still aren't at feature-parity with them. It's obnoxious to see people take credit for ideas that predate them and pretend we're innovating.
- coolsunglasses 13y agoI'm pretty happy with Clojure as a next-generation Lisp.
- lispm 13y agoThen you have some work to do...
- ksrm 13y agocute.
- coolsunglasses 13y agoDid you have anything useful to contribute here? I'm fine with Clojure because I'm more interested in languages with type systems anyway.
- keithpeter 13y agoWhy is that picture of Einstein's desk just after he died there? There are various ways you could work Einstein's somewhat isolated position in 1950s theoretical physics into your narrative. Just wondering if it was a random image or carried some weight in the argument?
- raganwald 13y agoI added it afterwards as an inside joke about arguing what Dr. Kay did or didn't mean decades later. Dr. Kay is still alive and doing good work of a different nature, but the gap between computer science theory and industry practice is as wide as it ever was.
- lispm 13y agoLisp was no co-opting everything. But research around Lisp did explore much of the dynamic and high-level language space, because it started early and had a lot of funding from the AI application domain - up to the end of the 80s. At the same time Smalltalk, Prolog, Self and other language spawned a lot of research. But only Lisp had this breadth and variety of research in this space. Today some languages are still catching up (say, generational GC in Ruby came only recently) or are ahead (JVM with concurrent GC, Mathematica's IDE, ...).
- lispm 13y agoGreenspunning is not really about languages implementing missing features. Greenspunning really is about the experience of implementing larger APPLICATIONS in Fortran or C, many years ago. For example a CAD system typically would need things like code loading, redefinition of code, exception handling, runtime execution of code (in a CAD scripting language), objects, more advanced memory management, ... Another example: something like Word or Excel - they also need these features. Both Java or Javascript have parts of this already implemented in their runtime. But they don't implement the runtime themselves. Those are written in C or C++.
- raganwald 13y agoNo it isn't about languages implementing missing features, but we still have this experience of reinventing Lisp when writing applications in today's languages. We may not need to re-invent memory management, but I notice that the Rails framework reinvents part of CLOS with its object lifecycle method handling, and Node reinvents continuation-passing style.