Roest

Maandag, 3 april 2000
Oude liefde roest niet. Jaren geleden, in 1993, ben ik tegen Madam Smalltalk opgelopen en ik moet zeggen: ze is nog steeds bijzonder prettig in de omgang. Haar image dijt wat uit, maar ach: Wat lelijk is went en wat mooi is gaat vervelen. Van de 7 years itch heb ik nog geen last gehad.

Smalltalk Ik heb bij Smalltalk nog geen lelijkheden kunnen ontdekken. Haar schoonheid verveelt me ook nog niet, integendeel. Ik wordt nog steeds lyrisch van haar zuivere interpretatie van de Object georiënteerde principes. Ze kapselt me volledig in met haar rondborstige ondersteuning van polymorfisme. Vanuit haar vruchtbare heupen ontspruiten objecten die de overerving waardig in ere houden. Kortom voor deze Smalltalk programmeur is deze Grand OO lady ver verheven boven haar concurrenten.

Oud en vertrouwd en toch zorgde deze oude liefde de afgelopen week voor wat onverwachte spanningen, in de laatste week van een project. Tijdens de debugfase bleek een tweedimensionale Smalltalk array slechts één dimensie te hebben, althans in mijn beleving. Ik verwachtte een array van arrays met strings:
{ {'aap' 'noot'} {'mies'} }
maar kreeg
{'aap' 'noot' 'mies'} (een array met strings).

Met Smalltalk's polymorfistische karakter is er niet veel verschil tussen een array met arrays of een array met strings. De volgende twee verzamelingen zijn voor haar vrijwel gelijk: {'aap'} en { {$a $a $p} }. Haar String inherit van Collection, net als haar Array. Bent u er nog?

Ik had op z'n minst een foutmelding verwacht. Maar Madame Smalltalk klaagde niet, deed stug haar werk zij het met een principiële stiptheidsactie die me toch niet zo beviel. Ze deed niet wat ik wou, maar wat ik vroeg. Het heeft me ongeveer een volle dag gekost om deze OO bug op te lossen.

Zucht, het is een vreemde liefde, dat Smalltalk. Maar ach, beter verliefd op Smalltalk dan:

  • het bed in kruipen met 'Use Cases'. Het is een saaie en methodische minnaar zo meldde een OO Analiste mij haar praktijkervaringen. Zodra je zijn OO model gezien hebt is de rest geen verrassing meer.
  • opgewonden raken van een object als een oude BMW. De Smalltalk geliefde heeft zeker één ding voor op oude auto's: Ze roest niet.

Tot de volgende week!
Henk Jan Nootenboom

Met speciale dank aan Antoinette Coetzee voor haar inspirerende woorden.