Hoppa till innehåll

Jubel! Lämnade precis in lab 2!

Åh, så härligt! Nu klarar min typechecker alla femtielva testfiler den ska klara, så jag har precis lämnat in den! Såå skönt eftersom jag avsatte ända fram till och med måndag för den och alltså har tre dagar tillgodo – jag planerar att dela tiden mellan tentapluggande och författande. Inte alls illa! Det är fortfarande en labb kvar (i denna kurs + mer i en annan fast med senare deadlines), men informationen har inte ens kommit ut ännu, så det är inte riktigt läge att börja.

Labben jag precis gjort är en type checker (se bilden ovan för en liiiten del av den) för en delmängd av C++. I lab 1 gjorde vi en parser för en något större delmängd C++, genom att beskriva grammatiken i BNF (eller LBNF, för att vara exakt).

Om du inte alls fattar vad jag pratar om:

  • En parser gör för programspråk vad grammatikkontrollen gör för ditt Word-dokument, ungefär. Det handlar om att kontrollera att man uttrycker sig rätt.
  • En type checker kontrollerar att det du gör är rimligt, t.ex. att du använder siffror i matematiska uttryck och inte till exempel försöker dividera 3 med ett päron eller något annat tokigt.

För typcheckaren kunde vi välja mellan Haskell och Java som implementationsspråk. Haskell är tydligen Chalmers älsklingsspråk, men jag har aldrig använt det (även om jag har haft en del skoj med Scheme, som är en variant av Lisp, som precis som Haskell är ett funktionellt programmeringsspråk). På sätt och vis hade det varit kul att testa lite Haskell, men samtidigt är det riktigt kul att testa sin Java-kompetens. Jag har verkligen fått bättre programmeringssjälvförtroende tack vare framför allt kursen Pragmatisk programmering, där jag skrev en egen browser, Anywhere. Således är det alltid roligt att ta sig an programmeringsprojekt i Java numera: det tar tid att sätta sig in i vad man ska göra, men sen går det. Jag ägnade flera dagar åt att sitta och peta i befintlig kod och testa diverse småpill innan jag plötsligt fick stenkoll på typecheckern (å, vad jag tycker om svengelska… men kan man prata om typkontrollerare? Eller vad heter det?). Med lite mer träning kanske inkörningsperioden till nya projekt blir kortare, men redan nu har jag känslan av att jag klarar av saker jag tar mig an. Jag har ganska bra känsla för java. Det känns som att jag har tagit mig en bit från att 1997 förundras över vad jag kan skapa med html-taggar efter att ha läst Annica Tigers HTML-guide (nej, den såg inte ut så 1997). Det är roligt!

Ikväll myser vi! Någonstans efter att jag länkade till Wikipedia (Java och Haskell) åt vi mumsig middag och delade en flaska Periquita och nu har jag dessutom fått i mig ett par drinkar med vodka och ginger ale, så nu är jag lullig och lycklig. :) Jag vet inte om man borde få skriva blogginlägg i det här tillståndet, men jag hoppas att det inte märks alltför mycket. :)

Jäääklar vad skönt det är att ha lämnat in labben! Nu ska jag dricka lite mer vodka + ginger ale (billig variant, såklart)…

2 kommentarer

  1. Arne Arne

    För mig framstår motsatsen till din tes som uppenbar. I grunden innebär inte det faktum att tränat upp mig i strukturerad problemlösning inte att fler av livets problem plötsligt går att förstå och lösa strukturerat. Tyvärr tror jag vårt eget domäns utveckling spelat oss ett spratt här. Ju mer våra programmeringsparadigm kommit att likna den sociala livet (jämför gärna OO) ju större anspråk utifrån vad vi faktiskt kan tycks vi göra.

    Jag gillar typecheckern – men varför inte tom tajpcheckern – nog borde det vara OK ;-)

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *