Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Ted Leung on the air: Open Source, Java, Python, and ...
Sun, 11 Jul 2004
Posted by Pingback from Ted Leung on the air : computers/programming/python/1017 : Who's going forward? at Mon Jul 12 22:55:35 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:
[01:35] |
[computers/programming] |
# |
TB |
F |
G |
22 Comments |
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.
So Kay is telling us Smalltalkers to start LISPing?
Posted by Michael Lucas-Smith at Sun Jul 11 04:01:52 2004
Posted by Michael Lucas-Smith at Sun Jul 11 04:01:52 2004
Also, I'd love to know Ted's take on where Python sits in this ? Can't the Python community (or Ruby, ....) push computer science forwards?
Posted by Trackback from KBM's Web Log at Sun Jul 11 09:08:07 2004
Posted by Trackback from KBM's Web Log at Sun Jul 11 09:08:07 2004
Hi Ted,
Are there any lessons about Croquet's underlying collaboration architecture and especially Reed's P2P protocol for Chandler?
Is Reed's 1978 dissertation on P2P protocols really still state of the art? That sounds depressing too.
Posted by chao lam at Sun Jul 11 13:07:30 2004
Are there any lessons about Croquet's underlying collaboration architecture and especially Reed's P2P protocol for Chandler?
Is Reed's 1978 dissertation on P2P protocols really still state of the art? That sounds depressing too.
Posted by chao lam at Sun Jul 11 13:07:30 2004
Hello,
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.
-Brian
Posted by Brian Rice at Sun Jul 11 14:34:14 2004
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.
-Brian
Posted by Brian Rice at Sun Jul 11 14:34:14 2004
Hi!
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:
http://croquetproject.org
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
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:
http://croquetproject.org
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
Michael,
I think Kay just wants more people to understand some of the ideas that are in Lisp and Smalltalk.
Posted by Ted Leung at Sun Jul 11 22:54:00 2004
I think Kay just wants more people to understand some of the ideas that are in Lisp and Smalltalk.
Posted by Ted Leung at Sun Jul 11 22:54:00 2004
Chao,
There may be some lessons for us. I'm going to take a look at the relevant documents...
Posted by Ted Leung at Sun Jul 11 22:55:24 2004
There may be some lessons for us. I'm going to take a look at the relevant documents...
Posted by Ted Leung at Sun Jul 11 22:55:24 2004
If Smalltalk's contribution was to build encapsulation on top of Lisp, we now have Common Lisp and others with encapsulation and OOPy goodness baked in. Does Kay ever mention the more modern Lisps?
Posted by Ralph Richard Cook at Mon Jul 12 06:55:30 2004
Posted by Ralph Richard Cook at Mon Jul 12 06:55:30 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
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
Posted by Tayssir John Gabbour at Mon Jul 12 07:35:53 2004
Ted,
Lisp people enjoy having choices. There is no problem with too many lisps. Maybe when you get a break from blogging, you could read up on this concept I often like to call market segmentation.
Posted by What? *Too* many Lisps? at Mon Jul 12 08:59:20 2004
Lisp people enjoy having choices. There is no problem with too many lisps. Maybe when you get a break from blogging, you could read up on this concept I often like to call market segmentation.
Posted by What? *Too* many Lisps? at Mon Jul 12 08:59:20 2004
The Alan Kay quote is wrong and thus misses some of the point.
He said the following:
"Why don't people understand Lisp better? Is it because Lisp is bad? No, it's because Lisp is a little bit more like real math and real science. It's got another level. Why don't people understand Maxwell's equations? Is it because they are bad or because they don't understand mathematics..."
Posted by Lars R at Mon Jul 12 16:32:59 2004
He said the following:
"Why don't people understand Lisp better? Is it because Lisp is bad? No, it's because Lisp is a little bit more like real math and real science. It's got another level. Why don't people understand Maxwell's equations? Is it because they are bad or because they don't understand mathematics..."
Posted by Lars R at Mon Jul 12 16:32:59 2004
Tayssir,
Thanks for the info on LTK. I had seen this link on the ECOOP workshop: http://lwn.net/Articles/90601
Posted by Ted Leung at Mon Jul 12 22:21:07 2004
Thanks for the info on LTK. I had seen this link on the ECOOP workshop: http://lwn.net/Articles/90601
Posted by Ted Leung at Mon Jul 12 22:21:07 2004
Lars,
Thanks for fishing out the exact wording -- I hope it was clear from "went something like", that it wasn't a direct/exact quote.
Posted by Ted Leung at Mon Jul 12 22:23:14 2004
Thanks for fishing out the exact wording -- I hope it was clear from "went something like", that it wasn't a direct/exact quote.
Posted by Ted Leung at Mon Jul 12 22:23:14 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
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
Posted by Pingback from Ted Leung on the air : computers/programming/python/1017 : Who's going forward? at Mon Jul 12 22:55:35 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
Posted by Paul Snively at Tue Jul 13 10:42:10 2004
Much as I applaud Kay's curmudgeonly attitude, I have to disagree. Modern hardware is fast as hell compared with 30 years ago. The problem is that overuse of late binding is not compatible with high-performance software.
The idea that hardware should adapt to software died 20 years ago with the invention of RISC architectures.
Posted by Chris Maeda at Wed Jul 14 17:21:24 2004
The idea that hardware should adapt to software died 20 years ago with the invention of RISC architectures.
Posted by Chris Maeda at Wed Jul 14 17:21:24 2004
Much as I applaud Kay's curmudgeonly attitude, I have to disagree. Modern hardware is fast as hell compared with 30 years ago. The problem is that overuse of late binding is not compatible with high-performance software.
The idea that hardware should adapt to software died 20 years ago with the invention of RISC architectures.
Posted by Chris Maeda at Wed Jul 14 17:26:02 2004
The idea that hardware should adapt to software died 20 years ago with the invention of RISC architectures.
Posted by Chris Maeda at Wed Jul 14 17:26:02 2004
Wow! I don't program much these days, but if half the claims about this are true, it sounds like this would be a fantastic environment for playing around and programming. From Croquet Project (via this amazing post from Ted Leung):...
Posted by Trackback from Roland Tanglao's Weblog at Fri Jul 16 14:43:39 2004
Posted by Trackback from Roland Tanglao's Weblog at Fri Jul 16 14:43:39 2004
Looks like there's going to be a new release in September at their new Web site.
Posted by Jack Johnson at Sun Aug 15 23:22:29 2004
Posted by Jack Johnson at Sun Aug 15 23:22:29 2004
Lisp and Smalltalk?
Here is the key difference -
Lisp unwisely broke its ties to the greatest deveopment environments built around itself -
the commercially failed Lisp machines which
which earned unjustifed scorn when they failed to deliver on the irrational expectations of the late 60's AI dreamers.
Smalltalk, by way of contrast, has never given up its dream of fully integrating the language and its development environment and of extending that environment into modern era research.
To get an idea of the astonishing abdandonment of the golden era of Lisp (the Lisp machines), one discovers a few dedicated devotees maintaing museums showing off their user interface. The code for the TI Explorer was abandoned (or sold?)
by TI as was that of the Lisp Machines. The code for the Symbolics machines was sold commercially with some success.
To give an idea of the power of the old 70's Lisp code, take a look at Maxima, the symbolic math package derived from an early version of Macsyma and maintained for years by the dedicated Dr. Schelter of U. Texas (now deceased). He had to haggle with the Dept. of Energy for years before finally getting the right to distribute the source code. It even comes with impressive 3d function plotting and graphics.
One can imagine what our desktops would be like if we were able to use some of the Lisp machine programs. But Smalltalkers need not imagine it, they are doing it.
Jim
Posted by James Pannozzi at Sat Apr 30 23:12:24 2005
Here is the key difference -
Lisp unwisely broke its ties to the greatest deveopment environments built around itself -
the commercially failed Lisp machines which
which earned unjustifed scorn when they failed to deliver on the irrational expectations of the late 60's AI dreamers.
Smalltalk, by way of contrast, has never given up its dream of fully integrating the language and its development environment and of extending that environment into modern era research.
To get an idea of the astonishing abdandonment of the golden era of Lisp (the Lisp machines), one discovers a few dedicated devotees maintaing museums showing off their user interface. The code for the TI Explorer was abandoned (or sold?)
by TI as was that of the Lisp Machines. The code for the Symbolics machines was sold commercially with some success.
To give an idea of the power of the old 70's Lisp code, take a look at Maxima, the symbolic math package derived from an early version of Macsyma and maintained for years by the dedicated Dr. Schelter of U. Texas (now deceased). He had to haggle with the Dept. of Energy for years before finally getting the right to distribute the source code. It even comes with impressive 3d function plotting and graphics.
One can imagine what our desktops would be like if we were able to use some of the Lisp machine programs. But Smalltalkers need not imagine it, they are doing it.
Jim
Posted by James Pannozzi at Sat Apr 30 23:12:24 2005
You can subscribe to an RSS feed of the comments for this blog:
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:
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
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