Att tala med lärde på latin och med datorer på ...ja, vilket språk förstår de bäst egentligen? Ett som är enkelt, logiskt och tydligt. Men det enkla är också det svåra, har det visat sig. Med nya program brukar följa nya problem. Hur väl programmet fungerar hänger på formuleringen av programspråket, det sätt som vi förmedlar till datorerna hur vi vill att de ska arbeta.
Programspråken har utvecklats och förändrats avsevärt sedan datorernas barndom. Från att ha varit enkla order till att bli komplicerade satser där språkets inre struktur, syntax och semantik fått en ökad betydelse. Läran om hur man programmerar datorer har växt i betydelse och omfång under de senaste 20 åren. Anledningen är att utvecklingen av mjukvarans kvalitet inte riktigt skedde i den takt man önskade. Peter Dybjer var en av de första att doktorera i datalogi på Chalmers 1983, och har varit med ända sedan 1981 då datalogiforskningen på Chalmers började ta fart på allvar.
- I början av 1980-talet stod det klart för beslutsfattarna att det krävdes en vetenskap bakom det hela. Det fanns behov av nya metoder och nya språk. Hela situationen behövde analyseras och utvecklas mer systematiskt, säger han.
Peter Dybjers intresse- och forskningsområde är semantik och programlogik. Han befinner sig i gränslandet till matematiken och beskriver sig själv som en "överbryggare", en sådan som är en viktig sammanbindande länk mellan olika discipliner. I flera av hans forskargrupper arbetar både matematiker och datavetare tillsammans, eftersom matematikens logik är mycket användbar vid analys av programspråk. Och Peter Dybjer hävdar att det är nödvändigt att förstå programspråkens struktur bättre för att kunna använda dem rätt. Framför allt kan det vara viktigt om de inte är gjorda på ett genomtänkt sätt från början, vilket inte är ovanligt med äldre programspråk. Orsaken är att man helt enkelt i begynnelsen inte visste vad som var ett lämpligt programspråk. Ur 1940- och 50-talens programmering direkt i maskininstruktionen följde experiment med olika så kallade "högnivåspråk". Som ett misslyckande brukar IBM:s "PL/I" från 1960 nämnas. Det drabbades av elefantiasis på grund av överdrivna ambitioner och oklar semantik. Om nya språk bygger vidare på äldre följer också gamla oklarheter med i bagaget. Många av dagens stora språk är ganska traditionella till sin utformning.
Problemet när man vill ha datorer att göra andra saker än att flytta information från en cell till en annan är att hantera komplexiteten.
- Ett språk kan behöva innehålla många olika saker för att vara flexibelt, men det är då viktigt att man kan hantera komplexiteten och i grunden ha en enkel struktur, för bara om det är enkelt går det att förstå helt och hållet och bara om det går att förstå kan man använda det för att programmera. Då blir det också avgörande att språket är logiskt och genomtänkt.
Från början utgick man mer ifrån datorn och hur den var konstruerad. Utifrån det skapades ett språk som skulle passa. Men idag vill man slippa att tänka så mycket på datorns arbete och fokuserar alltmer på själva problemen istället. Detta har inneburit en utveckling mot att tänka mer begreppsligt och därmed abstrakt. Då är matematiken till god hjälp.
Idag är forskarna i datalogi ute efter att skapa språk och metoder som hjälper programmerarna i arbetet med att skriva felfria program. Även om det i den akademiska världen finns språk som är både uttrycksfulla och logiskt klara så har de av olika anledningar inte slagit igenom i kommersiell praktik. Utmaningen inom området som Peter Dybjer ser närmast framöver ligger främst i de direkta tillämpningarna. Detta innebär att förverkliga det som grundforskningen är framme och nosar vid så att det blir användbart och ekonomiskt realiserbart. En annan uppgift som ligger honom varmt om hjärtat är bra fungerande datorsystem för undervisning - inte minst inom matematik.
Intervjun gjordes 2000 av Sofie Hebrandför skriften Ny kunskap.