“The Seaside Heresy” will be on tour in Southern California the third week of February. The schedule includes the following:

I have a couple other feelers out, but if you have suggestions or just want to visit about GemStone, Seaside, and/or Smalltalk, contact me at James dot Foster at GemStone dot com.

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 travels widely to present on technical topics (including Europe and South America).

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