zondag, september 10, 2006

Bastard Pop - de column

Hieronder de volledige versie van de column 'Bastard Pop' die deze week in Software Release Magazine verscheen.

BASTARD POP

Mijn 13-jarige zoon vertelde me onlangs dat hij later programmeur wil worden. Een verpletterende mededeling die me terugwierp in diepe, introspectieve bespiegelingen. Je haalt je van alles in het hoofd. Wat is er fout gegaan? Is hij in de peuterspeelzaal ooit een keer van het klimrek gestuiterd en heeft de juf het me nooit verteld? Eet hij wel genoeg vezels? Had ik niet veel vaker met hem moeten praten over de fantastische dingen die je in een leven kunt doen?

Zelfverwijt. Manische depressies. Een inktzwarte, zuigende draaikolk.

Uiteindelijk kwam ik weer tot rede, een week of drie, vier later. Ik ging de discussie met hem aan. Mijn zoon had nog geen idee van welke programmeertaal hij wilde leren. Een vage MSN-vriend had hem gesuggereerd zich te verdiepen in C++. Of dat wat was, misschien. Opmerkelijk hoe kalm je uiteindelijk dan blijft. Er kwam een Boeddhistische waas van vergevingsgezindheid over me toen ik hem zonder te schreeuwen vertelde welke misdaden er de afgelopen twintig jaar in naam van C++ zijn begaan. Dat veel van zijn crashende applicaties geschreven zijn door C++ programmeurs die het leuk vinden om lekker nonchalant met geheugen om te gaan. Dat de zogenaamde buffer overflow een hele generatie van hackers een zee aan inspiratie heeft gebracht. Dat leerboeken over C++ op Heathrow niet langer in de handbagage worden toegestaan. Dat de programmeertaal – net als de modernere broertjes Java en C# - belachelijk complex is en dat je een bolleboos in wiskunde moet zijn om het allemaal te kunnen begrijpen.

Met name dit laatste argument sloeg goed aan. Wiskunde! Dat is voor stuudjes en watjes.

Goed, die weg zou dus niet worden ingeslagen. Maar wat dan wel? Het werd me gaandeweg duidelijk dat mijn zoon een volstrekt ander beeld van programmeren heeft dan dat van eerdere generaties. Hij blijkt – uiteraard - vooral geïnteresseerd in het bouwen van websites. En hij is in het geheel niet van plan om from scratch te beginnen. Hij denkt aan één window met een smaakvolle combinatie van filmpjes van YouTube, satellietbeelden en ingebouwde zoekfunctionaliteit van Google plus foto’s van Flickr en nieuws van Blogger. Gewoon, als eerste vingeroefening.

Overduidelijk het profiel van de Mashup Programmeur anno 2006. De term ‘Mashup’ (ook wel: ‘Bastard Pop’) is bij een beetje tiener allang bekend: DJ’s mixen twee songs door elkaar heen, waarbij je de muziektrack van het ene nummer neemt en de zang van het andere. Dus zeg maar Kylie Minogue die iets peilloos metafysisch doet met lalalalalalalala en dan op de dreunende beat van New Order’s Blue Monday. Ik geef slechts een voor de hand liggend voorbeeld.

Nu worden dezelfde principes toegepast bij het bouwen van samengestelde toepassingen voor de browser. Mashup toepassingen bouw je met lichtgewicht programmeertalen die speciaal lijken gemaakt voor het aan elkaar lijmen van verschillende brokken functionaliteit die je in alle hoeken en gaten van het web kunt vinden. Zulke talen zijn bijvoorbeeld Javascript, PHP en Python maar evenzeer nóg modernere vrienden als Ruby (misschien wel dé ster van dit moment) en Water, een taal die speciaal gemaakt is voor het componeren van webservices. Krachtige, vaak elegante talen maar dan zonder de doorgedraaide dikdoenerij van Java en C#.

Mashup ontwikkelen lijkt een flodderige, weinig serieuze activiteit. Maar het succes zit hem juist in de combinatie van snel en flexibel kunnen componeren enerzijds en de beschikbaarheid van spijkerharde, robuuste componenten anderzijds. Denk alleen maar aan de efficiëntie van de server farm die zich achter de Google API verbergt.

Mashup componenten komen straks niet alleen meer van Flickr, MySpace of Yahoo: IT-afdelingen van gewone bedrijven zullen ze straks ook ontwikkelen en ter beschikking stellen, als een middel om op andere plekken in de organisatie veel sneller toepassingen te kunnen maken. En het zal niet lang duren, of we hebben veel meer Mashup programmeurs nodig dan hun klassieker geschoolde vakgenoten.

Nog niet eens zo’n beroerd carrièreperspectief dus. Desalniettemin ga ik het een keer checken. Dat van die vezels.

Geen opmerkingen: