Høydepunkter fra NDC 2011


tirsdag 14. juni 2011 NDC Uncle Bob

Her følger min oppsummering fra Norwegian Developers Conference 2011. Det har vært en kanonbra konferanse med mange høydepunkt, og dette blir derfor en lang bloggpost med litt for enhver smak.

For å friske opp oppsummeringen har jeg blant annet lånt litt bilder tatt under konferansen av Tomas Eilev Tveit Rundkås. Alle bildene han knipset under konferansen er samlet her. De mindre bra bildene i artikkelen, som stort sett har dårlig fokus, er typisk tatt av meg selv eller mine kollegaer.

The Uncle Bob Experience

Jeg gleder meg alltid til å høre Robert C. Martin – a.k.a. Uncle Bob – og i år fikk jeg med meg hele tre inspirerende foredrag. Det første kalte han “The Last Programming Language”, hvor han argumenterte for at det er på tide at bransjen standardiserer seg på ett (eller kanskje mer realistisk et par-tre) programmeringsspråk. Han påpekte at andre bransjer har gjort det samme, og at det er mange fordeler ved å gjøre det.

Som f.eks. når man skal ansette utviklere. Hvilken type utviklere trenger man? Spiller ingen rolle – alle bruker det samme. Og alle kodeeksempler er skrevet i samme språk. Alle lærer det samme på skolen, og alle kan derfor kommunisere enklere. Jeg vet ikke om vi er der helt ennå, men det er en spennende tanke.

Av språkene vi bruker i dag følte Uncle Bob at Clojure er det nermeste vi kommer et ultimat språk som vi kan forene oss om. Han sa ikke at det kommer til å bli Clojure, men at det bør bli et språk som har mange av de samme egenskapene.

Du kan høre kortversjonen av Roberts argumentasjon på hans videoblog.

IMG_9644

Det neste foredraget hadde tittelen “The Transformation Priority Premise”. Her hevdet Uncle Bob å ha kommet opp med en metode for å utlede algoritmer i små steg. Ved å følge noen enkle regler skal man kunne komme frem til den optimale algoritmen for et gitt problem.

Jeg er ikke sikker på om jeg kjøper teorien fullt ut. Robert hadde tross alt ikke noe bevis for at teorien holdt vann. Men teknikken er uansett interessant, og illustrerte ganske bra hvordan TDD og små steg gjør det enklere å utvikle komplisert kode.

IMAG0296

Det siste Uncle Bob-foredraget jeg så hadde han kalt “WTF is a Monad?”. Jeg har også stilt, og forsøkt å svare på, dette spørsmålet i en blogpost for et lite år siden. Det var et underholdene foredrag, men som vanlig fikk monadene hjernen min til å eksplodere.

Det er egentlig ganske merkelig. Monader består av noen ganske enkle byggestener, og jeg vet også stort sett hvordan jeg kan bruke dem. Men når jeg forsøker å forstå monadene så nekter hjernen å sammarbeide.

HTML5, JavaScript og andre webutviklingsgreier

JavaScript (spesielt jQuery) og HTML5 er ganske hot for tiden, og hadde også en sentral plass på konferansen. Bruce Lawson fra Opera viste seg å være en meget dyktig foredragsholder, og fortalte oss hva HTML5 er, hva det ikke er, og hvordan vi kan ta det i bruk i dag. Nedenfor ser du et av de morsomme lysbildene fra presentasjonen.

IMG_9561

Christian Johansen hadde også en spennende sesjon hvor han demonstrerte testdreven utvikling i praksis med JavaScript. Vi fikk dessuten tips til en rekke nyttige HTML5/JavaScript-verktøy i løpet av konferansen, som f.eks. html5shiv og Modernizr.

Generelt sett har JavaScript vokst til å bli et meget spennende språk.., eller som noen på twitter sa det: “Maybe JavaScript is The Last Programming Language?”.

The Three Amigos

En av de mer underholdene sesjonene jeg deltok på var en “smackdown” mellom rammeverkene Ruby on Rails og ASP.NET MVC. Utviklerne på senen var Hadi Hariri (.NET) og Rob Conery (Rails), mens Scott Bellware var kommentator.

Det ble mye morsom “dissing” mellom Hadi og Rob når det kom til valg av utviklingsverktøy og rammeverk, men demoen viste egentlig at ASP.NET MVC har kommet et godt stykke, og ikke står så langt tilbake for Rails. Personlig synes jeg derimot at utvikling med kommandolinjeverktøy, vim og et dynamisk språk er mye mer behagelig enn et tregt Visual Studio som crasher hele tiden (Hadi måtte selvfølgelig kjøre en tvunget restart av VS under demoen).

.NET Rocks!

Vi fikk også anledning til å overvære en innspilling av et .NET Rocks! podcast. Richard Campbell og Carl Franklin arrangerte en paneldebatt om mobile plattformer, noe som ble en heftig debatt om iPhone vs. Android vs. Windows Phone 7 og native apps vs. HTML-baserte apps.

IMG_9678

Og gjett hvems bakhode som har sneket seg inn på bildet her?! Er ganske sikker på at det er mitt ja.

Andre som bare må nevnes

Jeg hadde gledet meg til å gå på ett av Douglas Crockfords foredrag. Det viste seg at han ikke var noe særlig spennende foredragsholder, men han hadde såpass mye interessant å si, og så mye erfaring å trekke på, at det var kjekt likevel.

I sitt foredrag om kvalitet påpekte Crockford at programmering er det mest komplekse vi mennesker kan gjøre. Det er faktisk så komplisert, sier han, at det er utrolig at vi i det hele tatt får det til. Han påpekte også at programmerere er evige optimister – mer optimistiske enn folk flest. Det er vi nødt til å være for å ha tro på at vi kan få til det vi driver med.

IMG_9514

En annen fyr jeg hadde gledet meg til var Jon Skeet (bilde over). I foredraget “Async Deep Dive” – som han døpte om til “goto considered awesome” i løpet av konferansen – åpnet han opp panseret på .NET 5’s spennende async-feature, og viste oss steg for steg hvordan det hele er implementert. Anbefaler på det sterkeste at du får med deg dette foredraget når det slippes på video, men les deg opp på async og await først – dette er ikke en sesjon for beginners.

Rob Conerys foredrag “Kill your ORM” var også et høydepunkt. Han dro gjennom hvordan vi har forholdt oss til databaser og database-aksess de siste 20 årene, og konkluderte med at ORM-rammeverkene vi har blitt så glad de siste årene har blitt for store, for kompliserte, skjuler for mye av hva som skjer, og at det er på tide å (delvis) gå back to basics. Han viste oss så hvordan man kan lagen en mye enklere databaseaksess i .NET 4, og introduserte oss til slutt for MASSIVE, som er Robs 400-linjers løsning på nettopp dette.

Til slutt vil jeg nevne Kevlin Henney. Jeg gikk på hans foredrag om “Cognitive Biases and Effects You Should Know About”. Dette er et veldig viktig tema, som vi også hørte mye om på QCon i fjor. Foredraget fortalte om hvordan vi ubevisst lar oss styre av grunnleggende, menneskelige effekter, og hvordan det hindrer oss i å velge riktige løsninger. For å løse dette problemet anbefaler jeg at du leser boken Pragmatic Thinking and Learning: Refactor Your Wetware – en fantastik bok jeg selv akkurat har fullført, med en masse tips og triks til hvordan du kan bli en bedre problemløser og mere effektiv programmerer.

The Party

Festen på torsdagskvelden var som forventet en stor suksess. Til å begynne med hang jeg mye på standen vår (vi hadde egen øl), hvor det var mange som kom innom for å spille .NET Ninja Quiz (se nedenfor). Men da Loveshack entret scenen måtte jeg bort og rocke til 80-talls hits.

IMG_9958

En del av poenget med å dra på en konferanse som NDC er å møte folk, og det ble mange anledninger til å snakke med både foredragsholdere, gamle kjente, og folk jeg bare har kjent via nettet. Det var f.eks. veldig hyggelig å endelig treffe Ameth (et kjent navn fra kommentar-feltet på denne bloggen), som brukte deler av torsdagsfesten til å vise meg noen av Haskells finurligheter.

The .NET Ninja Quiz

PSWinCom-standen var godt besøkt under konferansen, og det var mye takket være .NET Ninja Quizen vi kjørte. Enkelte ble helt hekta, men det var få som klarte å nå øverste nivå.

IMAG0303 IMAG0304

Over til venstre ser du den aller første ninjaen vi kåret, og over til høyre har du han som ble ninja takket være standhaftighet og pågangsmot – han hang stort sett rundt standen i tre dager og gav seg ikke før han klarte alle spørsmålene.

IMAG0233b IMAG0286

Mange forelesere våget også etterhvert å forsøke konkurransen. Over til venstre Scott Bellware, over til høyre Corey Haines. Ingen av dem er i dag .NET-utviklere, så de slet bigtime.

IMAG0300 2011-06-09 21.42.41

I løpet av festen på torsdagen ble quizen i praksis et team-arbeid, og over til venstre ser du en gjeng som til slutt klarte å bli ninjaer. Over til høyre står Sebastien Lambla og fnyser av hvor enkle spørsmålene er…

Oppsummering

NDC 2011 ble en stor suksess. Gjennomføringen var upåklagelig, og spesielt kjekt er det når flere av de internasjonale foredragsholderne sier at det er deres favorittkonferanse.

Personlig er jeg også veldig fornøyd; jeg hadde det kjekt, og fikk med meg mange inspirerende foredrag. Men for å klage på noe så vil jeg si at jeg kunne ønske meg litt flere sesjoner med et høyere teknisk nivå. Blant foredragene som handlet om konkret teknologi ble det litt mange “introduksjoner” liksom, og jeg hadde satt pris på om det var noen flere som forutsatte at tilhørerne allerede har litt erfaring (sånn som Jon Skeets Async Deep Dive).

Likevel, NDC 2011 var en fantastisk vitamininnsprøytning, og man skal ikke se bort fra at jeg/vi kommer tilbake neste gang.


comments powered by Disqus