Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Sun, 11 Jul 2004
Croquet video
I found watching this video of the Croquet project to be a depressing experience. I had seen a number of references to Croquet, both from Smalltalk and Lisp blogs. I'm going to credit Dave Roberts at Finding Lisp with my depression, since he commented on Alan Kay's QA session afterwards, which is what pushed me over the edge to go and look at the video. Here's an article if you can't spare the time (90 mins).

The video itself was a challenge, because it is encoded via some Microsoft Windows Media player codec that doesn't exist for the Mac version of Windows Media Player 9. So I had to fire up my Windows box in order to actually be able to watch it and hear the sound.

Croquet is a 3d realtime collaboration engine written in Squeak, which is an open source Smalltalk-80. You can walk through a virtual world, much like many MMORPG's such as Everquest. The environment was smooth and fairly realistic, which is an interesting accomplishment by itself, given the supposed performance problems of languages implemented via virtual machine. I was more interested to learn that they've built a peer-to-peer collaboration architecture which allows their system to be usable between Germany and Los Angeles. The architecture is based on replication ideas from David Reed's 1978 PhD thesis. Apparently, Kay had been trying to get Reed to implement the ideas in his thesis for many years. This is the first time these ideas are appearing in public, at least that's the impression I got from the video. Right now they are using TCP/IP, but Reed is working on a UDP based P2P protocol for future versions. There was a brief tangent on security, and Kay said that they are interested in security model that is based on capabilities. Croquet will be available (September?) under an open source license.

I learned a few things about Squeak. The Squeak VM runs on about 30 platforms and runs the same (bit for bit) image on all of them. Apparently the VM is auto-generated in some fashion. Given the effort required to port the Java VM to a different platform (I did some of the work to get Java running on the Newton at Apple), this is pretty impressive.

So what did I find depressing? During the QA session, Kay took stock of the state of computing today:

When they set out to build Croquet, they intended to do it in Java, but they felt that they had to abandon it because it lacked (and still does) the meta facilities that they needed. Instead they chose to use Squeak. They had to go back to 1970's technology. Kay regards this as a disaster. All languages, Smalltalk included, are bad for this day and age. We essentially haven't learned anything since 1975 when the last interesting feature was added to Smalltalk.

Almost nobody today is trying to implement anything in a late bound architecture.

Hardware is less efficient today than it was in the PARC days -- Squeak is only 50 times faster than it was on the Dorado, yet we've had 15 turns of Moore's law.

OpenGL is the best thinking about 3D circa 1972 at the University of Utah. At least it doesn't get in the way too much.

Other interesting observations:
Lisp is the number one programming language idea of all time. Smalltalk's contribution was to build encapsulation on top of the ideas in Lisp. Someone asked a question about the market voting or something like this. Kay's reply went something like this: Most people don't understand Lisp -- does that make it bad? Most people understand Maxwell's equations -- does that make them bad? [update: Lars R. provided the exact quote in the comments - Thanks!] One of the things that Kay is doing now is just going around and giving talks to remind people of the great ideas in Lisp and Doug Engelbart's work

Kay believes that the future of programming languages lies in AI KR (Knowledge representation) languages. He cited Cyc's CycL and the ART forward inferencing system (now owned by Mindbox) as examples.

One of the last big ideas at PARC was what is now known as Aspect Oriented Programming. Bobrow and Goldstein worked on an extension to Smalltalk called PIE, which Kay called the best addition to Smalltalk. Kay also mentioned his Etoys work.

Kay felt that there was a huge value in being part of the particular kind of research community that was fostered by PARC/ARPA, which doesn't exist anywhere anymore. It's hard to find with the right people to argue in the right way. He felt that point of view (via the community) was worth an additional 80 IQ points.

Someone in the audience suggested compiling Squeak/Smalltalk to/via FPGA's. Kay felt that this would be a very productive approach.

Much as I love Lisp, it seems to me that the Smalltalk community, led by folks like Kay, are continuing to demonstrate a convincing agenda for forward progress, while the Lisp community is perennially struggling with basic infrastructure issues like which dialect of Lisp/Scheme, which windowing environment, etc. Perhaps this is due to the conception of Smalltalk as a system, in addition to a language.
[01:35] | [computers/programming] | # | TB | F | G | 22 Comments | Other blogs commenting on this post


I've watched your weblog for a while, and am a long-time Squeak/Lisp developer who's been pushing the envelope myself, working on the
Slate language in my spare time. I've been in the Squeak community for years, and have followed Croquet and other such developments pretty closely. I also live in Seattle and would be interested to sit down and talk sometime if you like.

Posted by Brian Rice at Sun Jul 11 14:34:14 2004


I have just as Brian been involved in Squeak for years - it is truly a gem compared to most things out there.

Here is a new website you might want to see regarding Croquet:


The VM of Squeak is written in a subset of Smalltalk called slang that can be executed inside Squeak so you can debug the VM using Squeak itself. Then you autogenerate C-source from slang which then is combined with platform specific C-code to form the VM. The VM is also highly modular and can load modules dynamically. The GC is very advanced and the object memory is very compact.

In short - it is very advanced VM technology compared to the competition. And a 64-bit clean version is in the making.

Squeak simply outshines everything out there IMHO. Come and join! :)
Posted by Göran Krampe at Sun Jul 11 15:37:46 2004

Hi Ted, it's funny I keep hitting your blog; your coworker Jeffrey Harris first pointed it out to me, now I heard it mentioned on a lisp weblog.

I was at a recent Lisp/Scheme workshop (colocated with ECOOP), and it was especially striking how different Common Lisp and Scheme are. They may share a syntactic similarity, like C and Java share parens/braces/semicolons. But they're different languages with different philosophies. Common Lisp is a very multiparadigm language, whereas Scheme seems more interested in purity. Two different target audiences, for different needs.

Regarding forward progress, Lisp is unusual in that "leaders" don't exist in the same way. As you know, people grow lisp by extending it, without nearly so much dependence on a central language designer. But in addition to decentralized growth, we have an old central body, the Association of Lisp Users, which is right now electing its new president. I often meet an active board member, who has a few unconventional ideas planned, in addition to the regular conferences.

For the portable windowing environment, LTK is released; I met its developer yesterday, who showed me responsive apps running on his iBook. There are also others working on different GUI environments.

I'm very interested in meeting Smalltalkers at future conferences like ECOOP:
<a href="http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&c2coff=1&safe=off&selm=cc6o16%24mje%241%40newsreader2.netcologne.de">http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&c2coff=1&safe=off&selm=cc6o16%24mje%241%40newsreader2.netcologne.de</a>

I hope that wasn't too long a post. ;) I am interested in learning Smalltalk, and so I'm getting my finger on the Smalltalk pulse. There seems quite a lot lispers can mine from Smalltalk.
Posted by
Tayssir John Gabbour at Mon Jul 12 07:33:26 2004

Let me try that ECOOP link one last time...
Posted by Tayssir John Gabbour at Mon Jul 12 07:35:53 2004

One man's market segmentation is another man's fragmentation.

This thread
http://tinyurl.com/683ye suggest that not everyone in the Lisp community is happy with different libraries, different FFI's, etc.
Posted by Ted Leung at Mon Jul 12 22:48:51 2004

Interested folks should also see the Oz language and its mobile-state protocol, which is documented here. For a comprehensive treatment of programming concepts using Oz as the vehicle for them, see Concepts, Techniques, and Models of Computer Programming, "Structure and Interpretation of Computer Programs'" natural successor. Finally, I highly recommend downloading and playing with the Mozart-Oz programming system itself.
Posted by Paul Snively at Tue Jul 13 10:42:10 2004

You can subscribe to an RSS feed of the comments for this blog: RSS Feed for comments

Add a comment here:

You can use some HTML tags in the comment text:
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are: <a href>, <em>, <i>, <b>, <blockquote>, <br/>, <p>, <code>, <pre>, <cite>, <sub> and <sup>.

You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk





Remember my info?

twl JPG


Ted Leung FOAF Explorer

I work at the Open Source Applications Foundation (OSAF).
The opinions expressed here are entirely my own, not those of my employer.

Creative Commons License
This work is licensed under a Creative Commons License.

Now available!
Professional XML Development with Apache Tools : Xerces, Xalan, FOP, Cocoon, Axis, Xindice
Technorati Profile
PGP Key Fingerprint
My del.icio.us Bookmarks
My Flickr Photos

RSS 2.0 xml GIF
Comments (RSS 2.0) xml GIF
Atom 0.3 feed
Feedburner'ed RSS feed

< July 2004 >
     1 2 3
4 5 6 7 8 910


Macintosh Tips and Tricks

Blogs nearby
geourl PNG

/ (1567)
  books/ (33)
  computers/ (62)
    hardware/ (15)
    internet/ (58)
      mail/ (11)
      microcontent/ (58)
      weblogs/ (174)
        pyblosxom/ (36)
      www/ (25)
    open_source/ (145)
      asf/ (53)
      osaf/ (32)
        chandler/ (35)
        cosmo/ (1)
    operating_systems/ (16)
      linux/ (9)
        debian/ (15)
        ubuntu/ (2)
      macosx/ (101)
        tips/ (25)
      windows_xp/ (4)
    programming/ (156)
      clr/ (1)
      dotnet/ (13)
      java/ (71)
        eclipse/ (22)
      lisp/ (34)
      python/ (86)
      smalltalk/ (4)
      xml/ (18)
    research/ (1)
    security/ (4)
    wireless/ (1)
  culture/ (10)
    film/ (8)
    music/ (6)
  education/ (13)
  family/ (17)
  gadgets/ (24)
  misc/ (47)
  people/ (18)
  photography/ (25)
    pictures/ (12)
  places/ (3)
    us/ (0)
      wa/ (2)
        bainbridge_island/ (17)
        seattle/ (13)
  skating/ (6)
  society/ (20)

[Valid RSS]

del.icio.us linkblog



Listed on BlogShares

Locations of visitors to this page
Where are visitors to this page?

pyblosxom GIF