Welcome to the blog of Can Sar, a Stanford CS major. This blog is made up of my thoughts on Computer Science and the computer industry, as well as ever exciting tales from my life.
Alan Kay, one of the main people behind the Xerox Alto PC and the Smalltalk programming language gave a talk about his new project Croquet. To make it short, croquet is just incredibly amazing. Croquet is a breathtaking 3D world, in which users collaborate, but it is also a "a complete development and delivery platform for doing real collaborative work. There is no distinction between the user environment and the development environment." This means that users can make changes to the code of the world as it is running.
The project is available for free with source code and was written for the Squeak environment, using Smalltalk together with OpenGL, its website is www.opencroquet.org. Users have their own avatars that they maneuver through a virtual world, where they see new worlds that are connected through portals, and interact with others. These worlds are supposed to correspond to our notion of WebPages and the portals to hyperlinks.
Actions of users are updated into the world almost absolutely live, and users can explore a sheer infinite number of worlds. Up till here the system does not seem revolutionary, except for the astounding quality of the renderings. However, Croquet is written using Squeak, a Smalltalk environment that allows changes to be made to Croquet while it is running. Young children can alter the world by drawing pictures in a special window and having these pictures made into 3D objects and integrated into the world.
For experienced programmers, Croquet offers even more fascinating opportunities. Users can see and alter the code of features of the worlds; they can also create tools, that are available in every users toolbox, that are similar to objects in Object Oriented Programming.
This is possible due to Smalltalk's use of late binding. This allows watching the behavior of the program while it is executing and then making changes and improvements in case of errors.
This also provides application programmers with a way of collaborating and reusing code easily. Croquet already has hundreds of packages that can be used.
To some readers this might seem similar to what existent technologies like Java can do (reusable tools), but the degree to which this is possible in Croquet is unrivaled, users can click on an object, see it's code and alter it. The use of the old Smalltalk language is, in Kay's view a sign to the lack of innovation in Computer Science. I will discuss this in a feature posting.
For now I hope you all take a look at Croquet, and maybe even learn Squeak and give developing it a try.