Polyglot 2010 og veien videre


torsdag 30. desember 2010 Polyglot

For meg har dette året handlet om å utvide horisonten gjennom å lære meg nye programmeringsspråk, slik som jeg sa at jeg ville gjøre i blogposten jeg, polyglot i starten av året. Her oppsumerer jeg hvordan det har gått, og snakker litt om veien videre.

2010

Først gikk jeg fra å være en nybegynner i Ruby til å bli ganske komfortabel med å skrive ideomatisk Ruby-kode, og til å begynne å tenke slik som Ruby oppfordrer deg til å tenke når du skal strukturere programmet ditt og løse problemer.

Deretter hadde jeg planer om å lære meg funksjonell programmering, og begynte å titte på Haskell. Men så ble jeg introdusert for Erlangs fantastiske verden, og Haskell ble lagt på hylla. Det er ikke et språk jeg jobber aktivt med lengre, og ser ikke for meg at jeg vil gjøre det heller, men Erlang lærte meg mye – grunnleggende ting om funksjonell programmering, prinsippet om actor model, og faktisk også en god del om objektorientering.

Og så, ganske tilfeldig, så jeg litt på Clojure - og jeg kommer aldri til å bli den samme utvikleren igjen. Clojure er mentalt stimulerende, og jeg lærer noe nytt hver gang jeg bruker det. Til å begynne med trodde jeg ikke det ville være et språk jeg ville få bruk for, men det har også endret seg. Clojure er absolutt noe å satse på for fremtiden, og har nå blitt mitt absolutte favorittspråk.

Et par relaterte poster: Lisp er vakkert | Er Lisp bedre enn andre programmeirngsspråk?

Jeg har sett på diverse andre språk i løpet av året også, som Boo, Python, Forth, F# og Io. Jeg har lært mye om språk generelt, og kan nå komme med forholdsvis intelligente uttalelser om hvilke styrker de ulike språkene tilfører. Det føles egentlig helt merkelig at det faktisk bare har gått ett år siden jeg begynte – for jeg har lært så utrolig mye. En helt ny verden har åpnet seg opp for meg som utvikler, og måten jeg tilnærmer meg programmering har endret seg ganske mye.

Polygot-prosjektet har vært en suksess!

2011

Som vanlig på denne tiden begynner jeg å tenke på hva jeg skal gjøre i året som kommer – hva jeg vil lære meg, og hvordan jeg vil gjøre det. Ingen planer overlever slagmarken, men planlegging er viktig likevel. Det første som er helt klart er at jeg fortsatt vil være interessert i å lære mer om programmeringsspråk, spesielt språk som skiller seg fra de jeg allerede har kjennskap til. En klar kandidat er Prolog.

Men mer enn lysten til å spre min kunnskap ut over flere språk føler jeg nå et behov for å fordype meg. Clojure er det mest fasinerende språket jeg noen gang har vært borti, og i løpet av 2011 ønsker jeg å bli en habil Clojure-utvikler. Det kan også tenkes jeg vil prøve andre Lisp-varianter, først og fremst Common Lisp, som visst nok skal ha en fasinerende objektmodell.

I 2010 leste jeg Ayende Rahiens bok om domenespesifike språk i Boo, og ble bitt av DSL-basillen. I året som kommer vil jeg gå dypere inn i dette emnet; jeg vil lese mer om patterns for utvikling og bruk av domenespesifike språk – både interne og eksterne. Jeg planlegger å lære meg et eller flere verktøy for språkutvikling, som f.eks. ANTLR, og kanskje vil jeg også lære meg grunnleggende teknikker som assembly-programmering, gjerne i form av IL-koding for .NET-plattformen. Vi har et prosjekt gående på jobben hvor jeg kan få bruk for domenespesifike språk, og jeg ser et stort potensiale i denne måten å utvikle på.

I tillegg til disse store målene har jeg alltid mange, mindre mål. Jeg har lenge tenkt å ta en titt på “reaktiv programmering” i form av Reactive Extensions fra Microsoft. Jeg koder mye “samtidighet” i .NET, og bør derfor også sette meg grundigere inn i hva Task Parallell Library har å tilby. Dessuten har det gått opp for meg at jeg ikke er så god på regulære uttrykk, og planlegger å bli en regex-guru i løpet av året. Og for å toppe kransekaka har jeg faktisk også (tro det eller ei) tenkt å lære meg administrasjon av SQL Server – og kanskje også ta en liten sertifisering på det.

plan2011

Så 2011 kan bli et “heltisk” år om jeg skal nå alle målene mine. Men det er slik jeg liker det. Jeg gleder meg til å sette igang med “studiene”, og lover mange blogposter om disse temaene i tiden som kommer.


comments powered by Disqus