Idéen Bak Basus

For å forstå tanken bak Basus må man vite litt om meg, Sverre, forfatteren av Basus. Jeg ble født i 1968 i Norge. Som sønn av en ham radio operatør (LA3YU) ble jeg oppdratt med lukten av loddetinn i nesa. På tidlig 1980 tallet så kjøpte min gud-lignende (for meg) tekno-pappa et ZX-81 byggesett og satt det sammen. Det var den første rimelige datamaskinen til hjemmebruk. Ren magi. Til tross for sin gud-lignende forståelse av teknologi så klarte ikke faren min å laste et program fra tape spilleren. Men det klarte jeg ved å fin justere volum kontrollen, og det var min første erfaring med å mestre teknologi utover det som kan forventes av forbildet mitt. Jeg må ha vært rundt 12 år og det som skjedde gjorde at jeg begynte å søke etter å mestre datamaskiner.

Problemet mitt var at jeg var helt på egenhånd. Siden ingen andre barn hadde en teknolog pappa slik som min og ingen av de hadde en datamaskin. Og det var bare å glemme lærer på skolen på den tiden. Datamaskiner var "science fiction" (hvis de i det hele tatt var kjent med det uttrykket). Jeg klarte på tross av dette å lære meg selv programmering i programmeringsspråket Basic ved å lese noen bøker og studere programmer som andre hadde laget. Jeg lærte til og med et annet språk underveis siden flesteparten av bøkene var skrevet på engelsk. Ettersom årene gikk klarte jeg å lære meg både assembler, Pascal, C, Perl, og noen flere programmeringsspråk bare ved å lese bøker. Men det hadde ikke vært så lett hvis det ikke hadde vært for Basic, språket som startet alt for meg.

Nå beveger vi oss frem til nåtiden. En mastergrad i "Computer Science" og flere programmeringsspråk har passert. Under mine år som profesjonell programmerer har jeg møtt mange andre som har hatt lignende barndom. De vokste opp på tidlig 80 tallet med ZX-81, VIC-20, Commodore 64, Oric-1, Dragon 32 og andre maskiner. Og alle disse klarte å lære seg selv å programmere uten noe form for hjelp. Vi er en generasjon med nerder, og det ser ut som om vi er den første og eneste slik generasjon. Man ser ikke disse barna lenger, hvertfall ikke i like stor grad som man gjorde på tidlig 80 tallet.

Jeg har selv to barn, og jeg har vist begge to dagens høynivå programmeringsspråk uten hell. De skjønner det rett og slett ikke. Jeg har noen teorier som beskriver hvorfor programmering eksplosjonen døde ut, en som vi ikke kan gjøre noe med, og en annen som jeg tror vi kan gjøre noe med.

Vi kan ikke gjøre noe med dette

Barn bruker datamaskiner for å spille spill. Punktum. Og kanskje litt chatting også. Dagens spill ligner ikke i det hele tatt på spillene vi hadde på 80 tallet. Dagens spill inneholder 3D grafikk som kan minne om spesial effektene i filmer. Utviklet ved bruk av "motion capture" og andre ting som krever million kostnader i utstyr. Og spill musikken er tatt opp i studio med verdens kjente orkester. Man har regissører, klippere og andre ting man som oftest forbinder med film verdenen. Det er umulig for en enslig tenåring kan konkurrere med dagens spill.

Slik var det ikke i den gyldne alderen. Etter å ha lært seg selv programmering i noen måneder kunne de fleste ivrige programmerere lage spill som nesten kunne konkurrere med det man kunne kjøpe på kassett i butikken.

Vi kan ikke gjøre så mye med dette. Det er utvikling og det er spennende for de av oss som synes de moderne spillene er gode.

Hva vi kan gjøre noe med

Siden behovet for å lage mer avanserte programmer har blitt større har også programmeringsspråkene blitt større. Det tradisjonelle "Hello, World" programmet, et program som bare vise en tekst på skjermen kan ikke lenger bli skrevet med bare noen få linje kode i de fleste moderne språk. Man trenger å legge til syntaktisk sukker som gjør det vanskelig for nybegynnere å forstå.

Hvis vi har lyst til å oppdra en ny generasjon med data nerder så tror jeg vi trenger å gå tilbake til den tiden det å lage enkle programmer var enkelt. Vi burde ikke trenge å skrive 10 eller 20 linjer med kode for å vise "Hello, World" på skjermen. Vi burde ikke trenge å vide forskjellen på heltall, flyttall, strenger og boolske verdier før vi må. Vi burde ikke trenge å skrive kryptiske kompilator kommandoer for å oversette program koden, og en annen kryptisk kommando for å kjøre koden. Vi burde slik vi gjorde det på 80 tallet: fortelle datamaskinen hva den skal gjøre, og så gjøre den det.

Det er idéen bak Basus: Gjør det enkelt igjen.

Og med denne idéen kommer en advarsel: Basus er ikke et språk man burde holde seg til for evig. Til dette er det altfor smått og begrenset. Basus burde brukes helt til man har en forståelse for variabler, kontroll uttrykk og sekvensiell eksekvering. Når man har forstått de enkle konseptene så burde man bevege seg over til et moderne programmeringsspråk.

Med andre ord: Basus er et verktøy for å bli introdusert til programmering og det er alt.