Ward Cunningham

I wrote the Plumbin' by Example application to show a semantically interesting use of Model-View-Controller. It was important to me that the model performed a computation that appeared to be hard but coded up compactly when distributed across many small objects.

I asked Kent Beck to review my implementation. I had expected him to praise my ingenuity but instead he made suggestions. I asked, so I had to make the changes. He and I later became good friends and used our combined understanding of Smalltalk to change programming.

One of our students headed up a research division at a chemical company. He came thinking objects would be something big. I met him at a conference a few years later. He told me that they had implemented my tile architecture in custom integrated circuits and distributed them amongst all their processing equipment with televisions attached.

An single page version of this document is available for comparison. page

.

The game play was inspired by a kids game we played with our children. No need for competition in the educational implementation.

.

Plumbin' is a self contained Smalltalk application written to be used in the hands-on lab section of an advanced Smalltalk class. Students were asked to read the program and then extend it. Plumbin' is designed to be small enough to read in one sitting while still offering interesting capability.

.

Hexagonal tiles provide more variety of tile shapes, but otherwise the logic stays the same. Rotate the tiles to connect them all together with no loops. There are some features to help with the process. game