Persistence is a Scaling Problem
(The first in a series of posts on Smalltalk, and Seaside in particular)
When programming in Smalltalk, the question of data persistence is not one you have to answer right away. You don’t have to think about serializing your data to disk or to a database to get on with your application. In fact, you can entirely put off the question of data persistence until the last possible moment, when you hit a real limit of live objects in memory. This is really a great thing for agile/lean-style development.
This is in stark contrast to web development in popular environments like ASP.NET or Rails, where the database is often the first thing you have to consider. Starting a new Rails project means writing database migrations. Starting a new ASP.NET project means choosing a persistence approach (such as NHibernate) and generating classes from an existing schema.
Starting a new Smalltalk project means building real, live objects. Right away. You start working and your application grows organically. The question of persistence becomes an “if” and not a “when.”