Mark Guzdial wrote:
One place it seems to me that Squeak has some intriguing potential is in the VM universe, where Java has kind of staked out the turf. There would be some obvious advantages to a Smalltalk VM vs. a Java VM, not the least of which is the relative maturity and completeness of the whole Smalltalk world as evidenced by Squeak.
The VM is clearly under 500K. What isn't clear to me is how much would have to be added to the VM to create a browser-usable (applet-like) or stand-alone, networkable application relying on the VM. Clearly that is to some extent application-specific, but what is the general feeling of the community?
Squeak Central has already done a lot of thinking on this, so I'll let them tell that side of the story.
Lex Spoon and I just got some pilot funding to explore creating a very small VM for Web executable code. The practical problem that we're facing is having kids write code to distribute or to execute on a server. Kids aren't usually trying to hack the system, but the code that they write often does cause severe "Denial of Access" errors.
Our hypothesis is that the problem lies in providing a VM that can do everything. Most people don't want to download word processors or spreadsheets. Most Java applets do something much more simple -- maybe visualize some live data, maybe do a little simulation. We think that we can produce a Squeak-based VM in which one can NOT do a word processor, but which we can guarantee no denial-of-service errors.
Our brief proposal, for those who might be interested, is at http://guzdial.cc.gatech.edu/muswiki.html
Mark
Mark Guzdial : Georgia Tech : College of Computing : Atlanta, GA 30332-0280 (404) 894-5618 : Fax (404) 894-0673 : guzdial@cc.gatech.edu http://www.cc.gatech.edu/gvu/people/Faculty/Mark.Guzdial.html
Mark....
Interesting stuff. Creating applets in Squeak which run in a tiny VM on the client is a really good idea and I think that your idea of focusing on quashing common errors and issues rather than on broad functionality is a good starting point. It will prove the concept at the same time.
How about the "other" kind of Web-based app, where the client has little or nothing to download directly (perhaps only the VM and some thin supporting layer stuff) and the code actually executes and resides on the server?