Building Ruby in Smalltalk: An Experience Report

Martin McClure


At GemStone, we implemented our MagLev Ruby server by adapting our Smalltalk implementation until it now runs both Smalltalk and Ruby. Ruby's semantics resemble Smalltalk's in many ways, but Ruby is a language even more dynamic than Smalltalk. This talk explores syntactic, semantic, and cultural differences between Smalltalk and Ruby, the challenges they posed and how we overcame them, and the advantages that using Smalltalk gave us.


Martin has been joyfully using Smalltalk for more than twenty years. As a Software Architect with GemStone Systems, he leads a team that designs and implements a distributed object system that acts as a bridge between a Smalltalk client and a GemStone Smalltalk server. Other career highlights include developing embedded and robotic systems in FORTH and assembly language, data modeling and architecting a telecommunications order processing system, designing and prototyping embedded hardware, and touring with a high-tech juggling troupe. When he's not in front of a computer, he can often be found contra dancing or blowing glass.