– Jeg opplever AI som bare marginalt nyttig

Å skrive om gammel COBOL-kode er ikke noe AI kan gjøre uten videre, mener den erfarne utvikleren Johannes Brodwall.

Johannes Brodwall sammenligner det å skrive om kode i gamle programmeringsspråk med "software-arkeologi" – og ikke noe AI kan fikse uten videre. 📸: Ole Petter Baugerød Stokke
Johannes Brodwall sammenligner det å skrive om kode i gamle programmeringsspråk med "software-arkeologi" – og ikke noe AI kan fikse uten videre. 📸: Ole Petter Baugerød Stokke Vis mer

Mange utviklere frykter at AI skal gjøre dem overflødige. Det til tross for at enkelte i bransjen prøver å berolige – og til og med hevder at AI vil skape behov for flere utviklere på sikt.

For selv om AI ofte gjør en utmerket jobb med "boilerplate"-koding, sliter den fortsatt med komplekse systemer, og med å løse problemer som ikke har blitt løst tidligere.

Jonannes Brodwall er utvikler i Sopra Steria og har de siste årene jobbet blant annet med å skrive om kode fra gamle programmeringsspråk som COBOL til mer moderne språk – som Java.

Dette burde vel være en perfekt oppgave for AI? Flere har jo skrytt av å kunne skrive om store COBOL-løsninger på kort tid, slik Elon Musks DOGE nå vil gjøre.

Den svært erfarne utvikleren er imidlertid klar på at det ikke er så enkelt som mange skal ha det til.

– Jeg opplever AI som bare marginalt nyttig, sier Brodwall til kode24

Software-arkeologi

Brodwall sammenligner det å skrive om gammel COBOL-kode med "software-arkeologi".

– Å fornye et system krever dyp innsikt i detaljene i systemet du skal erstatte, sier han.

Denne innsikten får han ved å lære seg brukergrensesnittet, granske data i databasen og lese kildekoden i systemet.

– Konteksten for å gjøre dette vil være å kunne gjenskape det bildet systemet har av verden, i en ny modell.

Og her mener han altså at AI bare er til "marginal nytte".

«Men da har man egentlig ikke løst noe som er verdt å løse, eller som er spesielt vanskelig.»

Fin til konvertering av datastrukturer

Når Brodwall skal igang med å skrive om en gammel COBOL-kodebase, må han først lese gjennom den gamle kildekoden.

Etter å ha kommet over denne første barrieren, er det ifølge Brodwall vanskelig å vite hva han skal spørre AI om.

– Når jeg har kommet over den første humpen, leser jeg koden raskt og effektivt, og trenger ikke AI, sier Brodwall.

– Men når jeg skal konvertere en datastruktur fra det gamle til den nye koden, er det hyggelig å be AI om å gjøre oversettelsen. Det går raskere og blir mer nøyaktig enn om jeg hadde gjort denne detalj-jobben selv, legger han til.

Oversette vs. løse problem

– Musks utviklere i DOGE mener å kunne skrive om USAs COBOL-trygdesystem på få måneder. Tror de på julenissen?

– Å få AI til å oversette dette til «Musklang 3000» eller whatever programmeringsspråk, er ikke å tro på julenissen. Det går fint. Men da har man egentlig ikke løst noe som er verdt å løse, eller som er spesielt vanskelig.

Ettersom COBOL allerede kan kjøre på en JVM i en container i et Kubernetes-cluster, har man heller ikke gjort driftssituasjonen bedre ved å bare oversette alt sammen med AI, argumenterer Brodwall.

Det vanskeligste med å konvertere et gammelt system er ifølge Brodwall at det sjelden er ett gammelt system – det er flere som henger sammen.

Brodwall sier at COBOL-koden han jobber med kan ta imot kryptiske tekststrenger, oppdatere en rar databasemodell og returnere andre kryptisk tekststrenger. Periodisk kan den lage filer med andre kryptiske tekstlinjer basert på det som ligger i databasen.

– Og det er ofte i sammenkoblingene mellom systemene at både det vanskelige og viktige skjer. Å lese COBOL er enkelt.