Programmeringssprog: Hvad blev der af PL/1
I begyndelsen af firserne var programmeringssproget PL/1 på vej ind i kodelokalerne i de store virksomheder, der brugte IBM's mainframecomputere.
PL/1 havde angiveligt en bedre struktur end konkurrenten COBOL og skulle også være lettere at sætte sig ind i og vedligeholde. Selv havde jeg glæden af at lave flere programmer i PL/1 og fandt det ret sjovt, men hvor er programmeringssproget i dag? Bruges PL/1 stadig på udvikling til mainframes eller har de gamle programmeringsikoner måttet give fortabt over for mindre og mere smidige programmeringssprog?
Kom med dit bidrag og skriv historien om PL/1 op til i dag.
- emailE-mail
- linkKopier link

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.
Fortsæt din læsning
- Sortér efter chevron_right
- Trådet debat
Lidt som reaktion på at PL/I skulle være et glemt sprog har jeg oprettet en mainframe-gruppe her på version2: http://www.version2.dk/grupper/mainframe/
Mig bekendt findes der ikke andre danske online-samlingspunkter for mainframe-udviklere og driftsfolk, så det er et forsøg på at starte noget op for os der synes PL/I er lidt mainstream.
Jeg håber mainframe-folket har lyst til dele nørderi med hinanden.
Vi er masser af programmører der koder PL/I hver eneste dag, og vores chefer gad godt vi var nogen flere. Der er rigeligt med PL/I-kode der skal vedligeholdes og nyudvikles. Det er bestemt ikke et sprog der bliver glemt lige med det første.
Jeg kan i øvrigt opdatere med at backend'en til e-boks er skrevet i PL/I.
Mens PL/1 sproget godt nok har en del år på bagen, så betyder det dog ikke, at det anvendes på samme måde som for år tilbage. PL/1 fungerer i dag fint i en verden hvor forretningsfunktionalitet moduleres i form af services og operationer og tilgås enten via en enterprice service bus (ESB) eller via webservices. Mange danskere anvender også regelmæssigt funktionalitet baseret på pl/1 når de anvender deres netbank
Sprogmæssigt er der sket ændringer, men sproget lider stadig under, at procedure kald er ekstremt dyre i forhold til mere moderne sprog, hvor parameter overførsel blot foregår via stakken. Konsekvensen er, at koden typisk ikke modulariseres i det omfang, der ellers har været god skik siden principperne for struktureret programmering blev formuleret helt tilbage i 70'erne. Og er man i mainframe verdenen hvor pl/1 bor, så er performance en væsentlig faktor!
I Danmark er PL/1 relativt udbredt på mainframen, mens det mange steder i udlandet, bl.a. USA helt er COBOL, der er dominerende. Dette var da også årsagen til at Danske Bank, som nævnte i et af de foregående indlæg, forsøgte at udfase det til fordel for COBOL. Det viste sig dog relativt hurtigt at være en uigennemtænkt beslutning, der ud over frustrationer førte til at det lykkedes at gøre en del dygtige PL/1 udviklere til middelmådige COBOL ditto, samt at program portofølgen i hørere grad blandede pl/1 og cobol i de enkelte load-moduler – hvilket ikke nødvendigvis er problemfrit.
PL/1 vil ikke uddø helt de første adskillige år da der de nogle af de steder det anvendes findes hundrede tusinde programmer i drift, og det er ikke noget man lige skifter ud. Også omskoling vil være en stor opgave som det vil være vanskeligt at finde en business case, der kan finansiere. Mest nærliggende ville et skift til C eller evt C++ sikkert være da disse findes til mainframe og CICS. Alle de institutioner som jeg kender og som anvender pl/1 har dog også andre platforme og sprog - eksempelvis Java der kan afvikles som J2EE applikationer på enten mainframe eller anden server
Jeg har oplevet, at Danske Bank har forsøgt at udfase brugen af PL/1, men vel at mærke erstatte programmerne med COBOL. Det lykkedes aldrig, og nu er det vist op til de toneangivende udviklere i hver enkelt afdeling, hvad man bruger til nye programmer. Så det holder nok lidt endnu.
Som gammel PL/1 udvikler har jeg forresten jævnligt forvirret mine kun-Java-kyndige kolleger med at kalde System.out.println() for "et put skip edit". Ups.
Topdanmark bruger også PL/1 :) Tjek job-opslagene rundt omkring, der søges efter PL/1 udviklere, og det giver nok et hint om at det stadig bruges i stor stil.
Jeg ved at Danske Bank bruger PL/1 og Cobol i stor stil. De fleste udviklere de har, udvikler enten PL/1 eller Cobol og det ser ikke ud til at de vil af med det indenfor lang tid.
indlaeg: proc options(main); dcl sysprint file print; put skip edit ('Ork ja, PL/I bliver stadig brugt.') (a); end indlaeg;
PL/1 skulle ikke blot konkurrere med COBOL, men ogsaa med FORTRAN og ALGOL. Jeg havde selv i Slutningen af 60-erne Fornøjelsen af at omskrive en Række ALGOL-Programmer til PL/1. Specielt med imaginære Tal var PL/1 ALGOL overlegen.