COBOL
Från Rilpedia
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 Gemensamt 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.
Innehåll |
Historia
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. Den första specifikationen godkändes 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.
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.
Språket
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 (se vidare cobolfingrar). 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
Ingen driven COBOL-programmerare skulle dock använda COMPUTE i sin kod i dag, då äldre versioner av COBOL då laddade in hela matematikpaket i farten, vilket drastiskt försämrade datorns prestanda. Alla moderna processorer har multiplikation och division inbyggda, vilket gör att undvikandet av COMPUTE-satser avsevärt ökar tillgängligheten för övriga samtidiga användare.
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 det ursprungliga versionen av språket, till exempel avsaknad av möjligheten till lokala variabler och dynamisk minnestilldelning. Språket har också ett stort antal reserverade ord vilket, tillsammans med bristen på lokala variabler, gör att man ofta har långa variabelnamn eller inleder dessa med unika prefix. Många av dessa brister har dock rättats till i senare versioner av språket.
Det finns de som anser att användningen COBOL:s decimala aritmetik, tillsammans med en strävan att optimera minnesutrymme, var en av orsakerna till att år 2000-problemet fick så stor omfattning.
Källor
- J. E. Sammet. "The Early History of Cobol." i History of Programming Languages, redigerad av R. L. Wexelblat. New York: ACM Monograph Series, 1981.