Kies uw voorkeur taal om verder te gaan.

Ik ben een computer programmeur. En dat bevalt mij goed. Ik hou van techniek en van structuur en als iets na lang puzzelen uiteindelijk lukt voelt dat geweldig. Ik zou dus prima kunnen blijven programmeren in php5 met behulp van Zend Framework, Mysql en Jquery. Daar valt ook nog wel het een en ander te leren en te verbeteren. Maar ik wil ook graag mijn horizon verlegen voorbij de tools die ik nu gebruik. De vraag is alleen hoe pak je dat aan?

Om daar een beetje een antwoord op te vinden ben ik het boek van Chad Fowler,  ‘The passionate programmer’ gaan lezen. En bij het eerste hoofdstuk wordt ik meteen aan het werk gezet. Act on it! zegt de paragraaf. Ik wordt gevraagd een lijst te maken van nieuwe, bestaande en oude programmeer talen.

Bij het zoeken op internet kom ik op langpop.com. Een overweldigende lijst van programmeer talen, hoeveel ze gebuikt worden en over hoeveel er over gepraat (blog) wordt op diverse bronnen. Maar met hulp van deze site kom ik er niet achter wat ik wil. Over Erlang en Haskal wordt veel gepraat maar er wordt weinig in geschreven lijkt het. En Phyton is dan weer zo als php een dynamische en geïnterpreteerde programmeer taal, dus mbt het concept niet zo veel nieuws onder de zon.

Toen dacht ik aan de google app engine omdat ik daar ook wel nieuwsgierig naar ben. De app engine is de infrastructuur die google beschikbaar stelt om jou eigen gemaakte (web) programmaatjes op de google infrastructuur te laten draaien. Naar mijn idee een concept met toekomst. De omgeving is dynamisch schaalbaar en gedistribueerd, waardoor de kans op uitvallers of vastlopers aanzienlijk kleiner is dan op virtuele wel of niet gemanagede machines. Kortom het echte “cloud computing” om jou “Software As A Servide” (saas) op te draaien en dus helemaal hip.

Maar met de keuze van het platform ben ik er nog niet. Hoewel het wel de keuze aanzienlijk verkleint in het het aantal kandidaat programmeer talen die ik misschien er bij wil leren. Want de Google app Engin bied nu nog alleen nog maar ondersteuning voor Phyton, Java en Go.

En zo als ik eerder opmerkte valt Phyton voor mij af om dat het conceptueel niet anders is dan PHP. En Java vind ik niet zo mooi, hoewel het natuurlijk wel veel gebruikt wordt. Wat voor mij overblijft is Go.

Go is een open source, type specifiek, gecompileerde taal, zo snel als C++ en zo makkelijk als Phyton. De programmeer taal die de niche opvult tussen de gecompileerde en geïnterpreteerde talen. Dat klinkt interessant! Het beste van twee werelden en zo voor mij een ideale kandidaat om mijn hard skills (programmeren) uit te breiden en om een beetje plezier te hebben met de google app engine. Hoe het bevalt en of het wat wordt dat wet ik nog niet.

Voor de volledigheid moet er nog bij vertellen dat ik mij niet exact gehouden heb aan de opdracht van het boek van Chad Fowler. En dat er naast deze opdracht meer goede tips en opdrachten in staan om uit te zoeken hoe je je carrière als programmeur kan vormgeven voor de toekomst.

Zie hier een introductie van Rob Pike over Go (een van de schrijvers van go): OSCON 2010: Rob Pike, “Public Static Void”

Interessante figuur die Pike. Zo maar betrokken geweest bij zo iets als UTF-8.

En het is gelukt om GO te installeren en te compileren:

Installed Go for linux/386 in /home/xxxx/Development/tools/go.
Installed commands in /home/xxxx/Development/tools/go/bin.
*** You need to add /home/xxxx/Development/tools/go/bin to your $PATH. ***
The compiler is 8g.

Gelukkig staat er geen datum bij waarop ik het een en ander heb geïnstalleerd. Want dat is al weer een tijdje geleden. Wat voor op onthoud zorgt is dat ik geen IDE heb kunnen vinden die go goed ondersteund. Maar dat lijkt er nu wel op : http://go-ide.com/.

Nu een leuk project bedenken en tijd vinden.