cobol Zelfstudie
Aan de slag met cobol
Zoeken…
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.