Tilbage til 80’erne: Programmeringssprog dengang og nu

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.

Dit første BASIC-program (1984)
Dit første BASIC-program af Rodnay Zaks, oversat af Jens Grysbjerg (1984)

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:

Dit første BASIC-program, kapitel 2

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.

Sjove facts fra 1980'erne
I min svigerfars bog fra 1984 skriver forfatteren, at RAM på pc’er som regel er 64 kilobyte. Det betyder, at den på ingen måder kan vise et almindeligt foto. Min pc, som er en helt almindelig, standard laptop fra 2016 har 8 GB. Det er over 1000 gange så meget som en pc i 1984. Og så taler vi kun RAM og ikke harddisk. Dengang var der ikke nogen harddisk til at lagre information, så man skulle have alt på disketter eller kassettebånd.

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.

 

INSPIRATION: Besøg historien
Er du lige som mig blevet bidt af at lære fortiden bedre at kende, så tjek datamuseum.dk ud! Datahistorisk Forening indsamler udstyr og dokumenter fra den danske data-udvikling: Gammelt dansk edb-udstyr, manualer, brochurer, bøger og tidsskrifter fra 1960 til i dag. Foreningen har den fantastiske målsætning at etablere et rigtigt datamuseum, hvor de historiske effekter kan udstilles og sættes i relation til moderne it-udstyr.