This month I’ll be making the following visits:

Not all the groups have updated their web site since this is was only finalized yesterday, but you can check back for details. If you are in or near these locations, please plan to come!

Following is the announcement:

The Seaside Heresy

Or, Will GLASS* Be Your Next Web Framework?


The explosive growth in Ruby popularity has demonstrated that dynamic languages are not just an academic curiosity, but have a real place in the professional developer’s toolset. Although Ruby has come a long way on Matz’s Ruby Interpreter (MRI), serious effort is being made to give Ruby a solid, industrial-strength virtual machine with JRuby (sponsored by Sun), Rubinius (“loosly based on the Smalltalk-80 architecture”), and IronRuby (sponsored by Microsoft). The latest news on this front is GemStone System’s announcement of MagLev, a Ruby environment based on GemStone’s dynamic language virtual machine for Smalltalk.

After coming to dynamic languages, a number of developers are not just waiting for Ruby to mature but are investigating the languages that inspired Ruby, particularly Smalltalk (Matz once characterized Ruby as “Smalltalk with a Perl syntax”). Smalltalk was developed in the 1970s at Xerox’s Palo Alto Research Center (PARC), where it provided the inspiration for the Macintosh and had a significant (but often quiet) influence on many aspects of software engineering-including Agile practices-over the past three decades. Although generally eclipsed in popularity by C++ and Java, Smalltalk has maintained a loyal following over the years and has a number of very solid (and fast) implementations and quite mature class libraries (some open-source and some vendor-supported). One of the discoveries Ruby developers find most interesting is Seaside, an open-source web framework created by Avi Bryant, an early Ruby developer, and others.

Seaside is a web development framework that turns the conventional wisdom on its head. Instead of “share nothing,” Seaside adopts a “share everything” approach. Instead of using RESTful URLs, Seaside encodes session keys and other data in most every URL. Instead of using templates, Seaside developers create web pages by sending messages to objects. And last, but not least, many Seaside applications avoid the use of relational databases thereby removing the object-to-relational mapping complexity.


In this presentation, James Foster will give a brief demo of MagLev, then introduce Smalltalk, GemStone/S (a Smalltalk implementation that has built-in persistence and multi-user, multi-machine scalability), and the web framework Seaside. We will see how Seaside handles the “Back button problem” and provides a rich, component-based approach to OO web development.


While in junior high in 1971, James Foster discovered computers at the local university and has delighted in building things and sharing his discoveries ever since. He learned Smalltalk in the mid-1990s, and became a passionate advocate for object technologies and agile methods. James is on the Smalltalk Engineering team at GemStone Systems, Inc., and regularly presents on technical topics (last month at ESUG in Amsterdam and next month at OOPSLA in Nashville).

*”GLASS” is an acronym for GemStone, Linux, Apache, Seaside, and Smalltalk.