De Nederlander die het meest weet over Microsoft .Net werkt niet voor Microsoft. Althans, nog niet. Erik Meijer, universitair hoofddocent aan de Rijksuniversiteit Utrecht, vertrekt binnenkort naar Redmond, in de Verenigde Staten, om bij Microsoft als programmamanager te gaan werken aan de ontwikkeling van .Net. Op de drukbezochte Development Day van Microsoft, vorige week in Den Haag, verzorgde de man die met stip binnenkomt in de Microsoft-gelederen de keynote-lezing. Na afloop sprak Computable met hem over zijn overstap van de Nederlandse wetenschap naar de Amerikaanse software-industrie.
Wat is het nut van een common intermediate language?
Als je kijkt hoe websites gemaakt worden kun je wel zeggen dat de Nieuwe Economie met touwtjes aan elkaar hangt. Probeer nu maar eens een website voor een mobiele telefoon, bijvoorbeeld een wap-toestel, beschikbaar te stellen. Door de website wordt meteen Html gegenereerd, terwijl de wap-telefoon Wml spreekt. Je kunt dus al het werk opnieuw doen.
De meeste scripting-talen zijn zwak getypeerd, en runtime (uitvoeringsversie van een programma) is zwak getypeerd. Bij Haskell werken we bijvoorbeeld met zogeheten polymorfe typeringen (programma-objecten die voor meerdere doeleinden zijn te gebruiken). Dat voorkomt fouten tijdens het schrijven van het programma.
Nu zie je nog bij veel websites de bekende javascript foutmeldingen. Die melding komt bij miljoenen gebruikers op het scherm, maar eigenlijk had de schrijver van het programma die fout zelf moeten zien. Met een goede common intermediate language kun je die fouten zoveel mogelijk vermijden. Haskell heeft een zeer krachtig polymorf typesysteem, en Microsoft is daar in C# (spreek uit C-sharp) ook mee bezig.
Hoe is het contact met Microsoft tot stand gekomen?
Microsoft heeft mij, en andere bouwers van exotische talen, zelf benaderd. Ze willen er voor zorgen dat er echt één gemeenschappelijke taal komt. Op dat moment had ik een sabbatical jaar had aan het Oregon Graduate Institute, in Portland. Onder non-disclosure agreement hebben ze ons toen verteld dat Microsoft van plan was een common language runtime te maken. Daar was ik gelijk enthousiast over, want dat sluit naadloos aan bij het onderzoek waar ik zelf bij betrokken ben.
Hoe kijkt u aan tegen de interactie tussen wetenschap en bedrijfsleven in Nederland?
In Nederland is de afstand tussen die twee te groot. Door het sabbatical jaar dat ik in Portland heb doorgebracht is het me pas goed opgevallen dat er in de Verenigde Staten veel meer wordt samengewerkt. Het is daar heel normaal dat graduate students, ongeveer te vergelijken met de assistenten in opleiding (AIO’s) in Nederland, stage gaan lopen bij een bedrijf. Ik denk dat dit verschil bestaat omdat we in Nederland niet een echte software-industrie hebben.
In de Verenigde Staten komt er veel meer geld van bedrijven, maar ook van de overheid. Je ziet veel meer sponsoring door het bedrijfsleven. In het ontwikkelen van natuurlijke interfaces bijvoorbeeld zit heel veel werk. Daar moet eerst veel wetenschappelijk onderzoek naar worden gedaan.
Er heerst in de VS ook een cultuur dat alumni meer geld geven aan de universiteit waar ze hun opleiding hebben genoten. Een ex-student die het heeft gemaakt schenkt bijvoorbeeld een laboratorium, dat vervolgens naar hem wordt genoemd. Het zou mooi zijn als daar in Nederland verandering in kwam. Nu is er, ook van overheidswege, vrij weinig geld beschikbaar voor informatica-onderzoek.
Is het peil van het Nederlandse onderwijs hoog genoeg?
We hebben het niet zo breed, maar voor mij staat buiten kijf dat het Nederlandse onderzoek op een zeer hoog niveau plaatsvindt. Nederland is relatief vooruitstrevend als het gaat om nieuwe talen., en de manier waarop nieuwe ontwikkelingen in het onderwijs worden opgenomen.
In de Verenigde Staten zie je een grotere spreiding. Op sommige plaatsen is het niveau heel hoog, op andere lager. In Nederland zie je minder pieken, maar het niveau is in de breedte hoog. Naar mijn mening mogen we trots zijn op het onderwijs in ons land.
Stapt u over naar Microsoft omdat Nederlandse wetenschappers te weinig ruimte krijgen in eigen land?
Een van de redenen dat ik naar Microsoft ga, is dat het effect van mijn onderzoek meteen zichtbaar wordt. In Nederland is dat effect veel beperkter. Bovendien is er toch maar een kleine groep mensen die zich met mijn vakgebied bezighoudt. Nu worden niet alleen mijn artikelen gepubliceerd in vakbladen, maar komt mijn werk ook in concrete producten terug.
Wat wilt u in Redmond bereiken?
In de Verenigde Staten zou ik willen bereiken dat de common language runtime ook echt een common language wordt. Ik ben voorstander van het gebruik van de juiste taal voor de juiste klus. Vergelijk het met een gereedschapskist, waaruit de programmeur voor iedere taak een bepaalde taal kan pakken.
Daarnaast speelt mee dat ik bij Microsoft .Net verantwoordelijk word voor de samples. Daarmee wordt als het ware de dominee in mij aangesproken, die voorstander is van een bepaalde programmeerstijl, en vooral van netjes programmeren. Wat ik in Utrecht doe wordt gezien door 160 studenten, de samples komen terecht bij miljoenen mensen. Dat wil ik netjes doen.
Gebeurt dat nog niet?
Programmeren gebeurt nu vaak te slordig. Veel mensen realiseren zich niet dat programmeren moeilijk is. Netjes programmeren is zeker belangrijk bij de applicaties die horen bij .Net. Alles komt van Internet, en dat is niet triviaal. De afstand tussen probleem en taal moet zo klein mogelijk zijn. Als een programmeertaal te ingewikkeld is, wordt die taal onderdeel van het probleem. Ik omschrijf .Net wel eens als dolby voor programmeurs, het haalt de ruis weg.
Als ik mijn visie op informatica zou willen samenvatten, is het abstractie. Het weglaten van onnodige details. Om dat te bereiken moet je goed nadenken over de essentie van het probleem.
Gaat u het onderwijs niet missen?
Ja, werken met studenten is heel inspirerend, en er zijn er altijd een paar op wie je het enthousiasme kunt overbrengen. Maar een van mijn taken in Amerika wordt voorlichting, en ik zal veel met wetenschappers en talenbouwers gaan werken. Ik laat de wetenschap achter, maar krijg daar veel voor terug. En eigenlijk zat ik hier ook al in het spanningsveld tussen theorie en praktijk.
Hoe kijkt u aan tegen het werk in de Verenigde Staten?
Ik heb al eens een jaar in de Verenigde Staten gewoond, en het Amerikaanse leven bevalt me wel. Ook de corporate mentaliteit bij Microsoft bevalt me goed. Er wordt daar alles aan gedaan om ervoor te zorgen dat ontwikkelaars ook echt kunnen ontwikkelen. De sfeer is heel informeel en ontspannen. Toen ik daar voor een sollicitatiegesprek kwam had ik een pak aangetrokken. Maar ik werd opgehaald door iemand in korte broek met badslippers aan.
Kijkt u ergens tegenop?
Eigenlijk niet. Mijn enige probleem is dat ik in de krant de euro voortdurend zie dalen. Ik heb net mijn huis in Nederland verkocht, en moet nu in de Verenigde Staten een nieuw huis kopen. Vrienden denken dat ik daar veel ga verdienen, maar voorlopig moet ik eerst dat verlies zien te compenseren.
Erik Meijer (1963) was tot voor kort universitair hoofddocent aan de Rijksuniversiteit Utrecht. Hij doceerde software-technologie, en hield zich vooral bezig met scripting en functionele programmeertalen. Meijer stond aan de wieg van – onder andere – de experimentele programmeertaal Haskell. Bij Microsoft wordt hij op het hoofdkwartier in Redmond verantwoordelijk voor het ontwikkelen van een zogeheten common intermediate language, een taal die communicatie tussen in verschillende talen geschreven applicaties moet vereenvoudigen.
Marco Van Der Hoeven
Redacteur