ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
COBOL - Wikipedia

COBOL

Uit Wikipedia, de vrije encyclopedie

Cobol is de afkorting van COmmon Business Oriented Language (algemeen zakelijk georiënteerde taal). Deze programmeertaal stamt uit de jaren 60 van de twintigste eeuw en werd (en wordt) voornamelijk gebruikt in zakelijke omgevingen.

Inhoud

[bewerk] Oorsprong

Van oudsher was de taal gericht op het makkelijk omspringen met (grote) gegevensbestanden in een batch-georiënteerde omgeving.

Wereldwijd is ongeveer 30% van de bedrijfskritische toepassingen in Cobol ontwikkeld en deze staan niet op de nominatie om her-ontwikkeld te worden in een andere taal (bron: Automatiseringsgids week 41/2004).

Cobol is ontwikkeld in 1959 in opdracht van het Amerikaanse DoD, Department of Defense, onder meer door Grace Murray Hopper. Het moest een taal zijn die gemakkelijker te lezen, schrijven en onderhouden was dan de tot dan toe gangbare talen (Assembler) en die daarnaast op meerdere typen computers inzetbaar moest zijn. De eerste versie van Cobol stamt uit 1960: COBOL-60.

Aan de eis van computer-onafhankelijkheid kon niet geheel voldaan worden, het is een eis waarmee tot vandaag de dag geworsteld wordt door vrijwel elke computertaal.

Theoretici als Edsger Dijkstra verzetten zich tegen deze taal: "the knowledge of COBOL is so detrimental to the teaching of computing science practice that its teaching should be marked as an offense against humanity".

De groep die de eerste Cobolversie opgezet had, CODASYL (Conference On DAta SYstem Languages), kwam in 1961 met een nieuwe versie, COBOL-61, en in '62 en '63 kwamen daar nog aanvullingen op: COBOL-61-extended. Vanaf die tijd nam het gebruik van de taal enorm toe en was het ook niet meer beperkt tot de Amerikaanse markt. Uit de hele wereld kwamen verbeteringen voor de volgende versie.

Die volgende versie werd door Codasyl opgesteld in nauwe samenwerking met ANSI, de COBOL-74-standaard.

De internationalisering van het gebruik van COBOL maakt dat de discussie over wie bepaalt wat er in de standaard komt een probleem. ANSI is een Amerikaans instituut. ISO neemt het initiatief om een COBOL-expertsgroep op te richten die de standaardisatie moet bewaken. ISO bepaalt ook na de nodige discussie de inhoud van de nieuwe versie: COBOL-85, uitgebracht in 1985.

De meest recente versie van de standaard is gepubliceerd in 2002: COBOL 2002. In deze versie zijn allerlei opties opgenomen waarmee het mogelijk is om object-georiënteerd te programmeren.

Wim Ebbinkhuijsen wordt in Nederland als een van de vaders van deze taal gezien.

[bewerk] Versies en variaties

COBOL mag worden beschouwd als een van de eerdere programmeertalen. Waar andere programmeertalen al snel het loodje moesten leggen, zijn er nog steeds nieuwe ontwikkelingen gaande als het gaat om COBOL. Om een goed beeld te krijgen van de ontwikkelingen van andere programmeertalen is het aan te raden om de volgende link eens te bekijken: http://www.levenez.com/lang/history.html.

COBOL lijkt dan ook één taal, maar schijn bedriegt. Naast de verschillende versies van deze programmeertaal zijn er dan ook veel verschillende dialecten. Veel pogingen om deze taal te standaardiseren zijn dan ook mislukt. Veel dialecten (afwijkingen of uitbreidingen) zijn ontstaan om geoptimaliseerd gebruik te maken van de omgeving waarin ze draaien (besturingssysteem) of de specifiek gebruikte hardware.

Hieronder een opsomming van de versies van de gestandaardiseerde versie van Cobol:

Jaartal: Naam:
1959 COBOL
1960 COBOL 60
1961 COBOL 61
1962 COBOL 61 EXTENDED
1968 COBOL 68 ANS
1974 COBOL 74 ANSI
1985 COBOL 85 ANSI/ISO
1989 COBOL 89 ANSI/ISO (functions)
1997 OO COBOL
2002 COBOL 2002 ANSI/ISO

Hieronder een opsomming van een aantal dialecten:

  • IBM S/390 COBOL (VS COBOL II)
  • IBM ILE COBOL
  • IBM Visual Age COBOL
  • HP COBOL II
  • HP Micro Focus COBOL for HP UX
  • Micro Focus Net Express
  • MBP Visual COBOL
  • AcuCorp COBOL
  • CA Realia
  • Liant RM COBOL
  • Tandem SCOBOL (Screen COBOL)
  • Tandem Non-Stop COBOL
  • Fujitsu COBOL
  • Data General ICOBOL
  • Wang VS COBOL
  • UNISYS COBOL

De opensourcegemeenschap heeft ook een paar COBOL-compilerprojecten, te weten:

  • Open Cobol (www.opencobol.org)
  • Tiny Cobol (tiny-cobol.sourceforge.net)

Deze opensourcecompilers ondersteunen de meest gangbare COBOL-dialecten in meer of mindere mate.

Vaak wordt het begrip Common COBOL gebruikt. De term Common COBOL staat eigenlijk gewoon voor populair COBOL. Het meest populaire dialect van deze programmeertaal is de versie S-390 COBOL van IBM. 80% van de programma’s die zijn geschreven in COBOL zijn geschreven in de variant van IBM.

[bewerk] Structuur

COBOL is een regelgeoriënteerde procedureletaal en kan worden ingedeeld als een derde generatie-programmeertaal. Een uitzondering hierop is natuurlijk de variant OO-COBOL, deze wordt doorgaans bestempeld als een vierde generatie-programmeertaal.

Een COBOL-programma is opgebouwd uit een aantal afzonderlijke regels, waarbij de lengte van de zinnen niet langer mag zijn dan 80 tekens. Hierbij moet worden opgemerkt dat in de praktijk slechts de tekenposities 8 tot en met 72 beschikbaar voor programmacode zijn, zodat een regel in feite niet langer dan 65 tekens mag zijn.

Historisch gezien heeft dit te maken met de beperkte breedte van ponskaarten die vroeger gebruikt werden om programma's in een computer te laden, en de daarop volgende computerterminals met gelijke schermbreedte.

Om een idee te geven hoe de programmeertaal er qua structuur uitziet, is hieronder een voorbeeld afgebeeld. Het betreft hier een simpele “Hello World”-applicatie.

   000010 IDENTIFICATION DIVISION.
   000020 PROGRAM-ID. HELLOWORLD.
   000030 DATE-WRITTEN. 10/08/04 00:04.
   000040 AUTHOR. UNKNOWN AUTHOR.
   000100 ENVIRONMENT DIVISION.
   000200 CONFIGURATION SECTION.
   000210 SOURCE-COMPUTER. RM-COBOL.
   000220 OBJECT-COMPUTER. RM-COBOL.
   000230
   000300 DATA DIVISION.
   000400 FILE SECTION.
   000410
   000500 PROCEDURE DIVISION.
   000510
   000600 MAIN-LOGIC SECTION.
   000700 BEGIN.
   000710 DISPLAY " " LINE 1 POSITION 1 ERASE EOS.
   000720 DISPLAY "HELLO, WORLD." LINE 15 POSITION 10.
   000600 STOP RUN.
   000700 MAIN-LOGIC-EXIT.
   000800 EXIT.
   000900*COMMENT

Het feit dat de programmeertaal regel-/procedureelgeoriënteerd is, blijkt ook uit het feit dat elke regel is genummerd met een uniek nummer (dit is echter al lang niet meer verplicht). Als commentaarteken wordt in COBOL gebruik gemaakt van de asterisk (*) op positie 7.

COBOL-jargon maakt gebruik van de analogie tussen literatuur en programmatuur: Een in COBOL geschreven programma is opgedeeld in minimaal vier grote zgn. Divisions, die op hun beurt onderverdeeld kunnen zijn in Sections. (Er zijn uitbreidingen in de handel waar meer hier niet genoemde secties en/of divisies mogelijk zijn.) Groepen commando's zijn Paragraphs en elke lijn is een sentence. Net als in een tekst, worden lijnen afgesloten met een punt.

  • Identification Division bevat algemene informatie over het programma: naam (verplicht), auteur, datum waarop het geschreven is, ...
  • Environment Division beschrijft de omgeving:
    • Configuration Section - (rand)apparatuur, interfaces en andere technische zaken.
    • Input-Output Section - invoer- en uitvoerbestanden afgezien van stdin en stdout globaal.
  • Data Division beschrijft interne en externe koppelingen via bestanden of media.
    • File Section - datailinformatie over bestandsstructuren, zoals record- en veldbeschrijvingen.
    • Working-Storage Section - interne variabelen, tabellen, ...
  • Procedure Division bevat de eigenlijke instructies voor de processor
    • Vrijwillige, maar wel aan te raden opdeling in Section(s) - De commando's inclusief Accept (standard in) / Display (standard out).


[bewerk] Bronnen

  • Ebbinkhuijsen, Wim B.C., COBOL Alphen aan den Rijn/Diegem: Samson Bedrijfsinformatie bv, 1990. ISBN 90-14-04560-3.

[bewerk] Externe links

Wikibooks Wikibooks heeft een Cursus over dit onderwerp: Programmeren in COBOL


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -