cobolAan de slag met cobol


Opmerkingen

COBOL is de CO Mmon B usiness O riented programmeren L aal.

Hoewel het een uit te spreken naam is geworden, wordt COBOL nog steeds als een acroniem behandeld door het normcomité, en COBOL is de voorkeursspelling door de ISO- en INCITS-norminstanties.

Standaard specificatie

De huidige specificatie is

ISO / IEC 1989: 2014 Informatietechnologie - Programmeertalen, hun omgevingen en systeemsoftware-interfaces - Programmeertaal COBOL

Dat document werd gepubliceerd in mei 2014 en kan worden gekocht bij verschillende takken van standaardinstanties, officieel gevestigd op

http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=51416

Hoofdgebruiksgebied

Zakelijk georiënteerd. Dat betekent meestal transactieverwerking. Banken, overheidsinstellingen en de verzekeringsbranche zijn belangrijke gebieden voor de implementatie van COBOL-applicaties. IBM mainframesystemen hebben meestal een COBOL-compiler geïnstalleerd. Er zijn meer dan 300 COBOL-dialecten, waarvan ongeveer 10 versies het leeuwendeel van de implementaties innemen. De meeste van deze compilers zijn eigen systemen, maar gratis software COBOL is ook beschikbaar.

Categorie

COBOL is een procedurele, imperatieve, gecompileerde programmeertaal. Vanaf de COBOL 2002-specificatie zijn Object Oriented-functies aan de standaard toegevoegd.

COBOL is qua opzet een zeer uitgebreide programmeertaal. Hoewel een algebraïsche vorm is toegestaan:

COMPUTE I = R * B

de oorspronkelijke bedoeling was om volledige woorden te gebruiken voor computerbeschrijvingen en gegevensmanipulatie:

MULTIPLY INTEREST-RATE BY BALANCE GIVING CURRENT-INTEREST ROUNDED MODE IS NEAREST-EVEN

Deze ontwerpbeslissing heeft zowel kampioenen als tegenstanders. Sommigen vinden het te uitgebreid, terwijl anderen beweren dat de syntaxis zorgt voor een betere leesbaarheid in een zakelijke omgeving.

Decimale wiskunde

COBOL is ontworpen rond decimale rekenkunde, in tegenstelling tot de meeste talen die een binaire interne weergave gebruiken. De COBOL-specificatie vereist zeer nauwkeurige decimale berekeningen met een vast punt, een aspect van de taal dat goed wordt beschouwd in financiële sectoren. COBOL staat ook GEBRUIK BINAIR toe, maar neigt naar decimale (basis-10) representaties.

Geschiedenis

COBOL dateert uit de late jaren 1950, met de eerste implementaties gepubliceerd in 1960.

US Navy Rear Admiral Grace Hopper wordt vaak geassocieerd met COBOL en verdedigde namens de taal tijdens de vroege stadia van ontwikkeling. Ze was niet de enige persoon die op enigerlei wijze betrokken was bij het ontwerp en de ontwikkeling van COBOL, maar wordt vaak de Moeder van COBOL genoemd.

Dankzij vroege steun van overheden en grote bedrijven is COBOL al vele decennia in gebruik. Het blijft een punt van trots voor sommigen en een doorn voor anderen, die het als verouderd zien. De waarheid ligt waarschijnlijk ergens tussen deze extreme opvattingen. Wanneer toegepast op transactieverwerking, is COBOL thuis. Wanneer het wordt toegepast op moderne webschermen en netwerkapplicaties, voelt het misschien niet zo comfortabel aan.

Structuur

COBOL-programma's zijn geschreven in vier afzonderlijke afdelingen.

  • IDENTIFICATIE DIVISIE
  • MILIEU-AFDELING
  • GEGEVENSDIVISIE
  • PROCEDURE DIVISIE

Gegevensbeschrijvingen

COBOL is ontworpen om decimale gegevens te verwerken en maakt op PICTURE gebaseerde gegevensbeschrijvingen mogelijk in gegroepeerde hiërarchieën.

01 record-group.
   05 balance        pic s9(8)v99.
   05 rate           pic 999v999.
   05 show-balance   pic $Z(7)9.99.

Dat definieert balance als een getekende achtcijferige waarde met twee cijfers aangenomen achter de komma. rate is drie cijfers vóór en drie cijfers na een veronderstelde decimale punt. show-balance is een numeriek bewerkingsveld met een leidend dollarteken, zeven cijfers (nul onderdrukt) met ten minste één cijfer voorafgaand aan twee cijfers na een decimaalteken.

balance kan worden gebruikt in berekeningen, show-balance is alleen voor weergavedoeleinden en kan niet worden gebruikt in rekeninstructies.

Procedurele verklaringen

COBOL is een gereserveerde trefwoord zware taal. VERPLAATSEN, COMPUTEN, MEERDERE, PERFORM-stijl lange vormwoorden vormen het grootste deel van de standaardspecificatie. Meer dan 300 trefwoorden en 47 operationele verklaringen in de COBOL 2014 spec. Veel compiler-implementaties voegen nog meer toe aan de lijst met gereserveerde woorden.

Hallo Wereld

HELLO * HISTORIC EXAMPLE OF HELLO WORLD IN COBOL
       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELLO.
       PROCEDURE DIVISION.
           DISPLAY "HELLO, WORLD".
           STOP RUN.
 

De dagen van ponskaartlay-out en alleen hoofdletters zijn ver achter. Toch hanteren de meeste COBOL-implementaties nog steeds dezelfde codelay-out. Zelfs huidige implementaties volgen hetzelfde (vaak zelfs in hoofdletters), gecompileerd en in productie.

Een goed opgemaakte moderne implementatie kan er als volgt uitzien:

*> Hello, world
identification division.
program-id. hello.

procedure division.
display "Hello, world"
goback.
end program hello.
 

Met sommige implementaties van COBOL kan dit worden ingekort tot:

display "Hello, world".
 

Dit formaat vereist meestal compilatie tijdschakelaars om een COBOL-compiler in een ontspannen syntaxismodus te brengen, omdat enkele van de normaal verplichte DIVISION instructies ontbreken.

COBOL gaat standaard uit van FIXED-formaatbronnen, zelfs in de huidige specificatie.

COBOL van vóór 2002

Kolom Oppervlakte
1-6 Volgnummer gebied
7 Indicator gebied
8-12 Gebied A
12-72 Gebied B
73-80 Programmanaamgebied

IBM mainframe-teksteditors zijn in sommige gevallen nog steeds geconfigureerd voor dit formulier.

Na 2002 en in COBOL 2014 werden Area A en B samengevoegd en uitgebreid tot kolom 255 en werd het Programmanaamgebied verwijderd.

Kolom Oppervlakte
1-6 Volgnummer gebied
7 Indicator gebied
8- Programmatekstgebied

Kolom 8 via een door de implementatie gedefinieerde kolom Marge R , is meestal nog steeds beperkt tot kolom 72, maar mag door spec tot kolom 255 lopen.

COBOL 2002 introduceerde FORMAT FREE brontekst. Er is geen volgnummergebied , geen indicatorgebied en bronregels kunnen elke lengte hebben (tot een door de implementatie gedefinieerde marge R- limiet, meestal minder dan 2048 tekens per regel, meestal 255).

Maar de compiler begint standaard in de FORMAT FIXED-modus. Er is meestal een compilatieschakelaar of Compiler-richtlijn Facility statement voordat de bron van het vrije formaat wordt herkend.

bbbbbb >>SOURCE FORMAT IS FREE
 

Waar bbbbbb staat voor 6 spaties of andere tekens. (Deze worden genegeerd als onderdeel van het initiële standaardvolgordemodus van het standaardformaat.)

Installeer gnu-cobol op Mac OS X

gnu-cobol is beschikbaar via het homebrew-systeem.

Open een terminalvenster vanuit /Applications/Utilities/Terminal of druk op Command+Space en typ "Terminal" .

Als u het homebrew-systeem niet hebt geïnstalleerd, voegt u het toe door te typen of te kopiëren en in uw terminal te plakken:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
 

Nadat de opdracht is voltooid, typt u:

brew install gnu-cobol
 

Dat is alles, u kunt nu Cobol-programma's op uw Mac compileren.