Software developers are lucky people. There are many different application development environments available to choose from these days. Lots of them are well suited to getting work done quickly—if your database and object design can follow their simple rules.

On the other hand, software developers are often not that lucky in their projects. Out of all the projects they’ve worked on, how many were pure “green field” development, where they had full control over all aspects of their database and object model? How many had to connect new processes or requirements to existing data stores whose schemas could not be changed or were ill-documented (or both), or else had to interface with a DBA group who had their own rules about naming? This is a situation where Smalltalk can really shine.