»Vi startede i Ruby og gik ret hurtigt over til Delphi. Det var i 7. klasse, hvor vi lavede forskellige små-applikationer. Men nu er det mest PHP, og det sidste stykke tid har vi også brugt C#. Bo arbejder også lidt i C++.«
De to 9. klasseselever Bo Thomsen og Frederik Lassen møder Version2 på Grøndalsvængets skoles kontor med både computer, smartphone og tablet fremme på bordet. På trods af deres unge alder, har de allerede været godt rundt i forskellige sprog i deres tid som softwareudviklere.
Siden deres engelsklærer Elsebet Jakobsen i 6. klasse opdagede deres interesse for at programmere, har hun hjulpet dem i gang og givet dem opgaver. Først med spillet Garrys Mod, som gav en introduktion til programmering, og så med en bog om Delphi, som de to drenge slugte råt i 7. klasse.
»I starten var vi meget interesserede i TCP, og vi kunne ikke skrive én linje HTML,« fortæller Bo.
»Det første program, vi lavede, kunne bruges til at spamme med TCP-pakker. Det brugte jeg til at lægge min server ned, da jeg skulle teste det. Det kunne også scanne porte og hvad ved jeg, og det tog lang tid at lave,« supplerer Frederik.
Siden er det blevet til mange applikationer, praktik hos en it-virksomhed, optræden sammen med Microsoft - og utallige timer sammen foran computeren og programmeringsværktøjerne.
I slutningen af februar skal Bo og Frederik også til en konference i Tallinn og fortælle om, hvordan man kan beskæftige sig med det, man har lyst til, også i en ung alder. Men trods opmærksomheden er de to udviklere helt nede på jorden og tænker også over, hvad fremtiden bringer.
»Vi arbejder med webprogrammering i massevis og prøver at lære så meget som muligt, så vi kan bruge det i vores karriere på et tidspunkt,« forklarer Bo.
Kunne starte karrieren nu
Hvis de ville, kunne karrieren som udvikler gå i gang meget snart. De kunne få et job som udviklere, når folkeskolen er slut, lød det fra praktikværterne hos Software Innovation, men det er ikke planen. Begge vil gerne på HTX og så i gang med en uddannelse som datalog.
»Jeg interesserer mig mest for spiludvikling, så jeg skal til Stockholm, når jeg er færdig. Et job hos Dice ville ikke gøre noget. Det er i Sverige, at det sker,« siger Bo med et skævt smil.
Af samme grund har han kastet sig over grafikstandarden OpenGL.
»Jeg læser en del om OpenGL, for jeg kan godt lide rendering engines. Vi spiller også en del computerspil, så jeg har fået den interesse og vil gerne have det som erhverv,« fortæller han.
For Frederik er det it-sikkerhed, der giver julelys i øjnene. Han bidrager for eksempel med kode til browser-tilføjelsen jCryption, og er blevet fremhævet af manden bag jCryption på jCryption-bloggen, som tak for hjælpen.
»Det er et Javascript-baseret client-server krypteringssystem, som er bygget nogenlunde som SSL-kryptering, så man kan kryptere data, når man indtaster dem på en hjemmeside,« forklarer Frederik.
Sikkerhedsinteressen betød også, at de to skoleelever opdagede et alvorligt sikkerhedshul, da de fik lov at dekompilere et printerværktøj fra Københavns Kommune.
»Et genialt program«
Printerværktøjet havde Bo og Frederiks interesse, fordi de ville forbedre deres program Computerinfo. Normalt skal skolens it-ansvarlige manuelt skrive oplysninger om skolens computere ned, både specifikationer, placering og det ID-nummer, som kommunen fysisk præger maskinen med.
Det er en besværlig og tidskrævende proces, men med Computerinfo bliver de fleste trin automatiseret, og Elsebet Jakobsen, som er it-vejleder på skolen, er ellevild.
»Det er et genialt program. På 25 minutter kan man aflæse et helt datalokale, som normalt ville tage dage,« siger hun.
Programmet kører fra en USB-nøgle, som skal puttes ind i maskinen. Så bliver alle tænkelige informationer høstet, fra processorhastighed til MAC-adresse, og sendt til en central SQL-database, bortset fra ID-nummeret, som kun findes i analog form.
»Derfor kunne vi ikke bare have det liggende på serveren og sende det ud til klienterne. Der bliver nødt til at være en, som kan indtaste det nummer, som står på låget af computeren,« siger Frederik.
Værktøjet sparer så meget tid på Grøndalsvængets skole, at det nu skal udbredes til alle skoler i kommunen. Og en version 2 af programmet, som er kodet i C#, er på vej.
»Vi vil gerne lave et sejt printersystem. Man kunne også lægge en applikation på hver maskine, som fortalte, om den var tændt og slukket, eller udregne strømforbrug. Man kunne lave mange ting, men vi ved ikke endnu, hvad det bliver,« fortæller Bo.
En QR-stregkode på hver computer og i lokalerne er også blandt ideerne, for så kunne man nemt registrere, hvis en computer bliver flyttet.
Databasen kan trækkes ud som et Excel-regneark, som brugeren kan sammensætte efter behov.
»Man kan også søge i det, men da vi ikke er supergode til søgealgoritmer endnu, fungerer det ikke helt optimalt,« siger Bo.
Øv - kun Internet Explorer på skolens computere
Også andre af drengenes kreationer bliver flittigt brugt af lærerne på skolen.
For eksempel applikationen Click-it, som kan bruges til afstemninger i klassen, hvor læreren kan se resultatet med det samme og for eksempel teste, hvor mange der har forstået timens pensum. Den er tilpasset, så den kan bruges på alt fra smartphones til desktop-computere.
En haiku-digte-maskine, som Elsebet bestilte hos Bo og Frederik, bliver brugt i sprogundervisningen, og her er det nødvendigt med den nyeste internet-teknologi.
»Vi har live-opdatering, så når jeg submitter et digt, skal det også poppe op herovre med det samme. Den bruger en HTML5-teknologi, der hedder websockets. Før kunne man kun gøre sådan noget med Flash,« siger Bo.
»Problemet er bare, at vi ikke har en websockets-server. Vores målgruppe må også kun bruge Internet Explorer 8, som ikke har HTML5 og CSS3. Det er svært at være webudvikler i Internet Explorer 8, uden understøttelse af alle de seje teknologier. Vi har også brokket os over, at skolen ikke kører Chrome,« siger Frederik.
Løsningen er at installere Chrome selv, men så snart en computer bliver nulstillet, forsvinder alle applikationer, som ikke hører til som standard.
Udover Chrome som browser rummer værktøjskassen Dreamweaver, Notepad og diverse gratis udviklingsværktøjer. GIT og Github bliver brugt til at dele kodeprojekterne, og derudover er Google Docs også uundværligt, når der skal samarbejdes om noget udvikling eller en skoleopgave.
»C++ er dejligt lowlevel«
På sprogfronten er Frederik mest til PHP, og på det seneste især C#, som han blev introduceret for hos firmaet Software Innovation, der igennem det meste af 2011 havde besøg af Bo og Frederik hver uge, i en form for langstrakt erhvervspraktik.
»Problemet med Delphi er, at det har en meget alternativ syntaks i forhold til de nye sprog,« konstaterer han.
Bo vil hellere tættere på ’jernet.’
»Jeg kan godt lide C++, for det er så dejligt lowlevel. Nu er jeg jo også interesseret i OpenGL, og det er svært at lave i C#. Så skal man længere ned for at kunne lave rendering engines. Men PHP er nok det fedeste, for det er supernemt at lære,« siger han, hvorefter Bo og Frederik går i gang med en diskussion om syntaksen i Delphi.
En anden vigtig del af udviklingsarbejdet er dokumentation, lyder det erfarent fra de to unge udviklere.
»Vi dokumenterer alting i vores nye C#-programmer. Ellers kan man komme tilbage til noget kode et halvt år efter og ikke vide, hvad det handler om. Det er ned til hver eneste funktion og parameter,« siger Frederik.
Læs mere om de to skoleelevers programmer på deres hjemmeside www.illution.dk