Jag är hobbyprogrammerare, och har ingen aning om vad riktiga utvecklare pratar om i fikarummen. Men om jag, baserat på mitt Twitterflöde, ska våga mig på en gissning så klagas det en hel del på olika programspråk – och då i synnerhet på Java.

Faktum är att det går knappt en dag utan att jag ser en sarkastisk tweet om Java i flödet (nu följer jag väldigt många programmerare som använder dynamiska språk, som Ruby och Python, men ändå). Ofta handlar gnället/skämten om att Java är så pass krångligt – många gånger krävs det betydligt mer kod för att utföra något än i exempelvis Ruby. En annan källa till kritik är säkerhetsbristerna i Javas så kallade virtuella maskin.

Men nog finns det en hel del bra saker med Java också – annars skulle det inte vara ett av de allra mest använda programspråken i världen. Och när jag själv nyligen, i samband med en obligatorisk programmeringsuppgift på den kurs som jag just nu går, på allvar började koda i Java kunde jag konstatera: Det är inte så hemskt som jag hade befarat.

För även ur ett nybörjarperspektiv har Java flera styrkor. TIll exempel är det relativt enkelt att komma igång med GUI-programmering i Java (GUI står för graphical user interface, grafiskt användargränssnitt). Det faktum att språket är plattformsoberoende och programmen portabla mellan olika datorsystem är en annan fördel. Visst, jag hade svårt för en del saker i början, som det här med statisk typning och att klass- och metodnamn skrivs med camel case. Men jag vande mig snabbt.

Och nu ska jag lära mig lite mer Java, hade jag tänkt. Varför då? Jo, till att börja med för att det är det språk som används på de programmeringskurser som jag ska gå det närmaste året. Men också för att det vore kul att kunna göra egna små tillägg och modifikationer, så kallade mods, till Minecraft och att skapa Android-appar. Till exempel.

DSC_1166

Okej, men hur lär man sig Java? Det fina med att språket är så pass stort är att det finns massvis med gratisresurser, som tutorials och e-böcker, bara några googlingar bort. En av dem är e-boken Think Java av Allen B Downey. Det finns också flera ”vanliga” böcker på svenska, till exempel Java direkt med Swing av Jan Skansholm (se bild ovan) som jag själv läser för närvarande. Ett annat sätt att närma sig Java är via den interaktiva utvecklingsmiljön Greenfoot. Du som sitter inne med andra, oumbärliga resurser får gärna tipsa i en kommentar.

Till sist: Är Java ett lämpligt språk för barn som vill lära sig att programmera? Nej, det tror jag inte. Dels av ovan angivna orsaker, som krånglig syntax och statisk typning. Men också för att java är ett språk där den så kallade objektorienteringen är påtvingad. Om man vill låta ett barn närma sig detta lite knepiga koncept tror jag att det finns betydligt bättre sätt, som att prova på att skapa ett spel i Ruby.

/Mats