Artikel top billede

Ole Lehrmann Madsens egen kæphest er modellering i programmeringssproget.

Husker du virkeligheden, når du programmerer?

Mens concurrency fyldte meget på OOPSLA-konferencen, mener datalogi-professor Ole Lehrmann Madsen, at man bør afbilde virkeligheden, når man laver store systemer.

Der er en smuk rød tråd i programmeringssprogenes udvikling.

Peter Naurs Algol, som vi omtalte i går (se link nederst i denne artikel, red.) fungerede som inspiration for Kresten Nygaards Simula-67, der efterfølgende fik gang i Beta-sproget.

Simula-67 var et af de første objektorienterede udviklingssprog og har haft en stor indflydelse på programmeringssprog som Java, C++ og C#, som anvendes i dag.

Blandt andet kunne James Gosling, Java-sprogets fader, fortælle på OOPSLA-konferencen, hvordan han programmerede i Simula på en gammel Univac-computer i starten af 1970'erne.

Der er ingen silver bullit

Det sker, at nye tiltag indenfor programmering lover at ændre effektiviteten fundamentalt. Ifølge Ole Lehrmann Madsen er det ikke tilfældet.

"Der sker en masse små forbedringer, men de store hop, der ofte bliver lovet, holder ikke i praksis. Tingene er komplicerede og bliver ved med at være det," siger Ole Lehrmann Madsen og henviser til Frederick P. Brooks klassiske bog "The Mythical Man Month"(der burde være fast pensum på alle it-uddannelser efter denne skribents mening):

"Der er ingen silverbullet.

Det er stadig enormt komplekst at lave software. Der er ikke noget, der har givet en faktor 10-forbedring af produktiviteten.

Selvfølgelig er der ting der er blevet nemmere. Men samtidigt bliver tingene mere integrerede. Kompleksiteten vokser hele tiden," mener Ole Lehrmann Madsen.

At modellere virkeligheden

Mens concurrency fyldte meget i OOPSLA-konferencens paneldebat, har Ole Lehrmann Madsen sin egen topprioritet for programmeringssprogene fremover.

Det skal være nemmere at modellere udsnit af virkeligheden direkte i programmeringssprogene.

"Min egen kæphest er modellering.

Simula opstod af behovet for at lave simuleringsmodeller. Simula var velegnet til at beskrive de ting i virkeligheden, der skulle simuleres med et program. Med Simula og Beta anvendes det samme sprog til at modellere og programmere med.

I dag er det ligesom delt op i to verdener. Enten er det UML med kasser og bobler til modellering eller også er det programmeringssprog som Java, man udvikler i.

Java burde være indrettet til også at lave modelleringen.

Desværre er modellering og programmering blevet delt i to verdener. Langt det meste, du læser om objektorienterede sprog, nævner ikke meget om modellering.

Hvis der tales om objektorienteret modellering, så skal man over i UML. Er du heldig, kan du få genereret noget kode, som du så kan kode videre fra.

Jeg tror, at hvis man skal lave de store systemer, så skal man kunne afbilde så meget af virkeligheden som muligt.

Vi skal tættere på virkeligheden i programmerne. Det gør det nemmere at lave og forstå programmerne, hvis man kan repræsentere begreber og fænomener fra anvendelsesområdet, man arbejder med i programkoden.

Det gør det nemmere at udvikle og vedligeholde," siger Ole Lehrmann Madsen.


Domænespecifikke sprog
Desværre ser Ole Lehrmann Madsen ikke udviklingen gå i den retning.

"Modelleringsbegrebet, som var i Simula og vi videreførte i Beta, glider mere og mere ud af programmeringssprogene.

Det bliver mere og mere teknisk. Læser du bøger om Java og C#, så er de utroligt tekniske. De nævner ikke ret meget om, hvordan man anvender sprogene til at modellere virkeligheden med," mener Ole Lehrmann Madsen

Det kunne lyde, som om Ole Lehrmann Madsen efterlyser domænespecifikke sprog?

"Jeg vil helst ikke gøre mig for klog på domænespecifikke sprog, da jeg ikke kender så meget til det.

Jeg vil ikke smide domænespecifikke sprog ud, men er nervøs for, at det bliver for løsrevet fra generelle programmeringssprog.

Det kan være, at det virker, men så vidt jeg har forstået, så modellerer man ud fra et specifikt domæne. Jeg vil gerne have, at man kan modellere mange forskellige domæner i et generelt sprog," siger Ole Lehrmann Madsen.

Første del af artiklen blev bragt i går, onsdag:
Hvordan skal vi programmere i fremtiden

Læs også om de mange banebrydende danskere:
Banebrydende dansk indflydelse

I et kommende nummer af Computerworld CTO kan du læse et portræt af Ole Lehrmann Madsen




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
Also A/S
Salg af serviceydelser inden for logistik, finansiering, fragt og levering, helhedsløsninger, digitale tjenester og individuelle it-løsninger.

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
Strategisk It-sikkerhedsdag 2025, Aarhus: Viden om trusler og tendenser – Beskyt din virksomhed

Gå ikke glip af årets vigtigste begivenhed for it-sikkerhedsprofessionelle! Mød Danmarks førende eksperter, deltag i inspirerende diskussioner og få praktisk erfaring med de nyeste teknologier. Bliv klogere på de seneste trusler og lær, hvordan du bedst beskytter din virksomhed mod cyberangreb. Tilmeld dig nu og vær på forkant med fremtidens cybersikkerhedsudfordringer.

21. januar 2025 | Læs mere


Strategisk It-sikkerhedsdag 2025, København: Viden om trusler og tendenser – Beskyt din virksomhed

Gå ikke glip af årets vigtigste begivenhed for it-sikkerhedsprofessionelle! Mød Danmarks førende eksperter, deltag i inspirerende diskussioner og få praktisk erfaring med de nyeste teknologier. Bliv klogere på de seneste trusler og lær, hvordan du bedst beskytter din virksomhed mod cyberangreb. Tilmeld dig nu og vær på forkant med fremtidens cybersikkerhedsudfordringer.

23. januar 2025 | Læs mere


Computerworld Cyber Briefing

Én gang om måneden leverer Computerworld Event et 30 minutters Cyber Briefing, hvor du får overblik over de mest aktuelle angreb, største trusler og tendenser samt giver dig gode råd, der kan implementeres direkte i din it-sikkerhedsafdeling.

03. februar 2025 | Læs mere






White paper
SAP: Skab værdi og minimér omkostninger med effektiv dokumenthåndtering