Det her blogindlæg er et tilbageblik til de glade 80’ere. Her kan du læse om det første interaktive programmeringssprog BASIC og blive klogere på, hvordan computere forstår programmeringssprog.
Da jeg i begyndelsen af ugen var på besøg hos mine svigerforældre, viste min svigerfar mig én af sine gamle programmeringsbøger fra 1984: ”Dit første BASIC program”. Det er en skønt fortalt, illustreret og meget pædagogisk introduktion til verdens første interaktive programmeringssprog, BASIC (der blev udviklet i 1964). BASIC står for Beginners All-purpose Symbolic Instruction Code.

Før BASIC blev udviklet af de amerikanske programmører John Kemeny og Thomas Kurtz i1964, kunne man ikke programmere direkte på en pc. Man blev simpelthen nødt til at indkode sine programmer på en stak hulkort . Hulkortene skulle man så putte ind i computerens hulkortlæser ét efter ét. Det var en omstændelig proces – og hvis der var en fejl i koden, tog det tid at finde den, og man skulle så lave nye hulkort og indlæse dem igen og så videre.
Så BASIC var altså noget af en revolution, så det fik jeg lyst til at skrive et blogindlæg om. Og der var oveni købet nogle ting, som jeg kom til at forstå meget bedre ved at bladre igennem BASIC-bogen.
Lige et par ord om BASIC
BASIC blev udviklet til undervisningsbrug af Kemeny og Kurtz, og de havde et ønske om, at det skulle være så simpelt som overhovedet muligt at gå til – så alle kunne være med.
Der gik selvfølgelig lidt tid, før det blev tilgængeligt for almindelige mennesker at lege med mere eller mindre hjemmebyggede computere derhjemme. I 1980’erne var det stadig en sjældenhed at have en computer i sit arbejdsværelse. Men – for dem, der arbejdede professionelt med computere (og måske deres børn), var BASIC et ekstremt populært sprog allerede i 1970’erne.
Men det varede ikke ved. For med tiden fik BASIC et rigtig dårligt ry for at føre til dårlig og ustruktureret kode.
Allerede i 1975 udtalte den hollandske fysiker Edsger Wybe Dijkstra, at: “It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration” (kilde: https://en.wikipedia.org/wiki/BASIC)
Så BASIC bruges ikke mere I den oprindelige version. Men programmet er blevet videreudviklet og lever blandt andet videre i det populære Visual Basic fra Microsoft, som bruges til at udvikle Windows-programmer, både layout og databaser.
Det var et par ord om BASIC. Tilbage til bogen om BASIC, som jeg har lånt af min svigerfar. Da jeg bladrede i den, var der nemlig noget helt fundamentalt, som gik op for mig – som jeg vil dele med dig:

Når en computer skal forstå et programmeringssprog: Fortolker-programmet
En computers sprog – det gælder både computere dengang i 1984 og nu –
består af 0’er og 1-taller. Det er et såkaldt binært sprog, fordi der kun er to forskellige elementer i det. Og det sprog er ekstremt kompliceret at forstå og ville være ekstremt tungt og langsommeligt at bruge.
Derfor bruger alle et programmeringssprog. Det kan være BASIC eller ét af de tusindvis af andre sprog: JavaScript, Python, C# og så videre. Men de sprog kan en computer ikke forstå, fordi den kun forstår 0’er og 1-taller.
Derfor skal man bruge et program, der oversætter programmeringssproget til computerens sprog (også kaldet maskinkode)
Dengang i de glade BASIC-dage havde mange computere en såkaldt ”BASIC-fortolker” indlejret i ROM’en, når man købte dem. Og ellers kunne man få fortolker-programmet på en diskette eller et kassettebånd.
Fortolker-programmet oversatte alt det, som programmøren skrev i BASIC – linje for linje – til maskinkode.
Og når det var blevet oversat til maskinkode, så kunne computeren forstå det og udføre instruktionerne, som programmøren havde givet den.
Fortolker-programmer er nu compiler-programmer
Fortolker-programmerne fra 1970’erne og 1980’erne er i vore dage suppleret med compiler-programmer.
Der findes desværre ikke et godt ord for compiler på dansk.
Et compiler-program oversætter programmeringssproget til maskinkode, præcis som fortolker-programmet. Den største forskel på compiler og fortolker er, at compiler-programmet oversætter hele koden på én gang (i stedet for at gøre det linje for linje).
Og dét var lige præcis dét, der gik op for mig, da jeg læste min svigerfars gamle bog: En pc forstår simpelthen ikke ét eneste af de programmeringssprog, der findes i hele verden. Den forstår kun 0 og 1.
Men hvorfor findes der så ikke bare ét programmeringssprog? Hvorfor skal der være så mange? Et bud på det er, at hver eneste programmeringssprog har nogle fordele og ulemper – der er noget, de er gode til, og noget andet, som de ikke er specielt oplagte til. Det vender jeg til i et andet blogindlæg.