Jeg har ofte taget det i diskussioner om hvilket programmeringssprog, man skal lære som sit første, hvis man begynder på en datalogiuddannelse.

Men måske er det i virkeligheden en helt forkert diskussion. Hvorfor skal man kun lære ét sprog som det første programmeringssprog? Hvorfor skal egentlig man ikke lære flere samtidig? På matematikuddannelserne bliver man på hvert eneste semester undervist i forskellige områder af matematik samtidig. Og hvis der kun er tid til at undervise i ét programmeringssprog på et givet semester, hvorfor taler man da ikke så ofte om, hvad det næste programmeringssprog, man skal lære, mon skal være for ét? Hvis man gør det, er man som underviser nødt til at være bevidst om transfereffekten, dvs. hvordan man kan bringe de lærende bedst videre, så de blive i stand til både at drage nytte af deres hidtidige erfaringer og at se disses begrænsninger.

Det er interessant at læse en ny artikel om at undervise i “det næste programmeringssprog” på ungdomsuddannelser. Forfatterne tager udgangspunkt i undervisning i programmering på gymnasiale uddannelser i Skotland og i Nederlandene. Deres konklusion er netop, at man skal tænke nøje over hvad det næste (og de næste) programmeringssprog, man skal undervises i, egentlig bør være.

Der er en forståelig tendens til at man som lærende kan ende med at opfatte det første programmeringssprog, man møder, som særlig vigtigt og særlig rigtigt og at nogle former for programmering er særlig vigtige og særlig rigtige. Ofte får man som underviser spørgsmål i stil med “Hvilke virksomheder bruger Lisp?” . “Ikke ret mange, men det er ikke en grund til ikke at lære Lisp”, er mit svar typisk. Når man stiller andre dette spørgsmål, er det vel tegn på at horisonten er ved at lukke sig: Man har fået et billede af, at der er De Rigtige Programmeringssprog Til Rigtig Programmering, og så er der “resten”. Målet bør (synes jeg) i stedet være, at man skal få sig så stor en værktøjskasse som muligt.