COBOL är ett programspråk som främst är avsett för affärsändamål som till exempel personaladministration, finansiella tjänster, orderhantering samt diverse produktionssystem. Namnet är en akronym av COmmon Business Oriented Language, engelska för Allmänt affärsorienterat språk. Tillsammans med Fortran och Lisp är det ett av de äldsta högnivåspråk som fortfarande används allmänt för programmering.

Historia redigera

Språket skapades 1959 av CODASYL, The Conference On Data System Languages, en grupp initierad av USA:s försvarsdepartement, med representanter från olika datortillverkare och myndigheter. Med i gruppen fanns bland annat programmeraren Jean E. Sammet.[1] Den första specifikationen godkändes i maj 1960 och resultatet fick namnet 'COBOL 60'. Några inspirationskällor för specifikationsarbetet var FLOW-MATIC, ett språk konstruerat av Grace Hopper, och IBM:s COMTRAN.

COBOL fick snart stor spridning och var på 1960-talet och 1970-talet det dominerande programspråket för affärssystem. Än idag används COBOL i stor skala i administrativa och finansiella tillämpningar i många större företag, exempelvis bankväsendet.

COBOL 2002-standarden stöder objektorientering och andra mer moderna datatekniska framsteg. Utveckling av nya versioner sker kontinuerligt. Det finns nu även versioner av COBOL som har integrerat stöd för att fungera i nätverksmiljö och mot internet, till exempel IBM:s Enterprise COBOL.

Programspråk som är varianter på COBOL är vanligt förekommande inom affärssystem, till exempel ABAP (från SAP AG) och People Code (från Peoplesoft). COBOL lever därmed vidare även i ett flertal former som delvis skiljer sig från standarden.

COBOL i Sverige redigera

COBOL har haft en stark ställning i det svenska försvaret. När försvarets stordatorer migrerades från IBMs stordatorer till Datasaabs stordator D23 runt år 1974 skrevs c:a 3000 program om i COBOL till en kostnad av c:a 18 miljoner kronor. Programmen flyttades sedan till Univac 1100.[2] I en rapport från Försvarets rationaliseringsinstitut från 1980 konstaterar man att "95% av alla försvarsprogram skrivs fortfarande i COBOL".[3]

Trots sin ålder används COBOL fortfarande vid utveckling av affärsnära applikationer. Organisationer som förlitar sig på affärssystem byggda i COBOL fortsätter i stor skala att vidareutveckla dessa och år 1997 uppskattade analysfirman Gartner Group att över 80% av världens affärstransaktioner sker i COBOL-system. De fyra svenska storbankerna Nordea, Handelsbanken, Swedbank och SEB kör fortfarande stora delar av sin verksamhet i COBOL-system.

Språket redigera

COBOL karakteriseras av en ordrik syntax där man strävat att efterlikna normalt skriven engelska. Ett exempel:

ADD DEPOSIT-AMOUNT TO ACCOUNT-BALANCE GIVING ACCOUNT-BALANCE

Den ordrika syntaxen har kritiserats som överflödig och otymplig. Det går dock att uttrycka samma programsats mer koncist i COBOL:

COMPUTE ACCOUNT-BALANCE = ACCOUNT-BALANCE + DEPOSIT-AMOUNT

Eller helt enkelt:

ADD DEPOSIT-AMOUNT TO ACCOUNT-BALANCE

Så här ser det klassiska "Hello World" exemplet ut i Cobol

IDENTIFICATION DIVISION.
PROGRAM-ID.     HELLOWORLD.
PROCEDURE DIVISION.
DISPLAY "Hello world!"
STOP RUN.

Språket har bra möjligheter till hantering av filer med fasta fält- och poststorlekar, och en detaljerad beskrivning av de data som ska bearbetas. Vid jämförelse med yngre språk märks dock en del brister i den ursprungliga versionen av språket, till exempel avsaknad av möjligheten till lokala variabler och inbyggd dynamisk minnestilldelning. Språket har också ett stort antal reserverade ord vilket, tillsammans med bristen på lokala variabler, gör att man ofta inleder dessa med unika prefix. Många av dessa brister har dock åtgärdats i senare versioner av språket.

Källor redigera

  • J. E. Sammet. "The Early History of Cobol." i History of Programming Languages, redigerad av R. L. Wexelblat. New York: ACM Monograph Series, 1981.

Noter redigera

  1. ^ ”Jean Sammet skapar programmeringsspråket Cobol”. Internetmuseum. https://www.internetmuseum.se/tidslinjen/jean-sammet-skapar-programmeringsspraket-cobol/. Läst 14 oktober 2020. 
  2. ^ Ann-Katrin Widing, red (2002). 50 år av datautveckling. Arboga: Försvarsmakten, Försvarsmaktens logistik, Reservmaterielenheten. sid. 15. https://www.aef.se/Resmat/Delta_50.pdf. Läst 21 september 2019. 
  3. ^ A. Resare, red (1980-12-18). Struktur 90: Förslag till långsiktig inriktning av försvarets administrativa databehandling. Rapport. "Nr 4.80-8402". Stig Å Nilsson. Stockholm: Försvarets rationaliseringsinstitut. sid. 53. Libris 8203139