• Taal en Teken
2006
Programmeren in Frankrijk | Items #2, 2006

Precies twintig jaar geleden vond ik een folder in de post van een softwarebedrijf in Haarlem met de naam Mediasystemen. Hun belangrijkste product bestond uit een interactief opmaaksysteem voor krantenpagina’s (Memphis), hetgeen met de beschikbare hardware uit die tijd een uitdaging op zichzelf was om te maken. De Apple Macintosh stond nog in de kinderschoenen en was bij lange niet snel en kompleet genoeg om de complexiteit van een krantenpagina weer te kunnen geven. Het bedrijf moest daarom niet alleen de software, maar ook een groot deel van de hardware zelf ontwikkelen. (Zie deze pagina op de site van Peter Kriens aQute)

Maar hoewel de mogelijkheden van dit Nederlandse systeem op zich al interessant waren voor een typografisch ontwerper, was dat niet het belangrijkste wat mij opviel in de folder.

Nog interessanter was dat ze een programma hadden ontwikkeld, die het mogelijk maakte de vorm en spatiëring aan te passen van de lettertypen die in in zetsysteem aanwezig waren. Daarvan bestond nog niet zoveel in die tijd. Het ontwerpen van outline fonts was er nog niet bij: Type1 fonts zaten in 1986 nog zwaar gecodeerd in de Laserwriter Plus, een angstvallig bewaard geheim van Adobe. Het amerikaanse bedrijf Altsys, opgericht door Jim von Ehr, had een programma (Fonstastic) ontwikkeld voor de Apple om bitmap fonts te tekenen. In een wat later stadium kwam ook een programma voor het tekenen van outline letters (Fontographer) beschikbaar, zij het in eerste instantie alleen voor Type3 fonts. En ikzelf heb in die tijd nogal wat tijd gestoken in het samen met URW in Hamburg schrijven van een applicatie die later MacIkarus zou worden. Deze context maakte de folder van MediaSystemen opmerkelijk genoeg om een briefje te schrijven met een vraag om meer informatie. En dat briefje was voor adjunct-directeur Peter Kriens weer aanleiding om zelf maar te reageren in plaats van het over te laten aan een account-manager. Een week later hadden we een afspraak om eens bij elkaar in de keuken te kijken. En dat zijn we twintig jaar blijven doen, waarvan de eerste tien jaar een avond per week. De fascinatie voor mij om als grafisch ontwerper te kunnen programmeren werd gespiegeld door de wens van Peter om te snappen waarom een layout er beter uitziet als die door een ontwerper wordt gemaakt, dan als die wordt gemaakt door iemand met vooral een technische achtergrond.

Ik had al wel de nodige ervaring met programmeertalen, van Assembler, via Basic, Fortran en C tot Pascal. Maar als autodidact is het toch lastig om verder te komen dat het oplossen van de dagelijkse, overzichtelijk problemen. Waar tegenwoordig voor alle soorten programmeertalen een schat van boeken beschikbaar is, was dat in die tijd nog hoge uitzondering. En internet bestond natuurlijk helemaal nog niet. Bovendien is het net als bij gewone talen wel mogelijk om de grammatica uit een boekje te leren, maar goed leren spreken of schrijven is toch weer een heel ander verhaal.

De vele wekelijkse avonden vulden zich zonder duidelijk plan, maar wel volgens een vast patroon dat in de loop der tijd duidelijker werd. Peter’s interesse en ervaring lag op dat moment in de moeder van alle object-georiënteerde programeertalen: Smalltalk. In tegenstelling tot procedure georiënteerde talen zoals C en Pascal, heeft in Smalltalk niet de programmeur maar een object het voor zeggen. Een programmeur zal dan ook nooit zeggen: “Ik print hier een pagina” maar “Deze pagina print zichzelf”, als het over een bepaald stuk van de code gaat. Een ander manier van denken. De kunst van het object-programmeren uit zich dan ook niet in het kennen van de grammatica (de syntax) van de taal. Maar veel meer in het ontwerpen van abstracties die de tand des tijds kunnen doorstaan. Voortschreidend inzicht over het functioneren van een programma en veranderende eisen aan de interface maken dat alleen flexibele programma’s kunnen overleven.

Veel van de discussies gingen over de vraag of bijvoorbeeld een kolom mag weten waar hij op de pagina staat of dat juist de pagina de eigenaar is van de coördinaten van alle kolommen die hij bevat. Ogenschijnlijk een arbitrair probleem, maar essentieel voor het maken van opmaakprogrammatuur. Het patroon dat zich ontwikkelde was dat ik me na zo’n avond vaker wel dan niet genoodzaakt zag een programma weer op een andere manier aan te pakken. Is dat ontwerpen? Natuurlijk is dat ontwerpen.

In de loop der tijd hebben we een hele reeks opdrachten samen gedaan, ondermeer een automatische letterproef en typografisch informatie systeem voor Adobe en de automatisering van de productie van FontShop catalogi. Steeds op het grensvlak tussen typografie, ontwerpen en programmeren. Ook een archaïsche taal als Prolog, speciaal voor het programmeren van kennissystemen hebben we uitvoerig bekeken.

In 1994 begon Peter voor zichzelf en ging voor Ericsson in Zweden werken. Dat maakte een verhuizing noodzakelijk en daarmee kwam in praktische zin een eind aan de wekelijkse avonden. Het bleek dat de prille mogelijkheden van online werken, de fysieke barrière niet konden overbruggen. Het kontakt werd minder frequent. En dit alles werd nog versterkt door het feit dat ik van Just van Rossum de handleiding cadeau kreeg van de programmeertaal Python, het afstudeerproject van zijn broer Guido.

Samen met mijn broer Erik en Just werd Python de scripttaal voor RoboFog, een variant op Fontographer die we konden maken, nadat we van Jim von Ehr de sources gekregen hadden (dezelfde Jim von Ehr die Altsys aan Macromedia wist te verkopen, van dat geld een nano-technologie laboratorium – www.zyvex.com – heeft gebouwd en nu weer bitmap-letters probeer te bouwen van Cesium atomen op een Silicium oppervlak).
Python werd de voertaal van ons buro