16. September 2010

COBOL - Einführung

COBOL steht für Common Buisness Oriented Language

Geschichte:
- Programmiersprache für den kaufmännischen Bereich
- Aufbau ist sehr wortreich und der englischen Sprache ähnlich
- COBOL vereinfacht die Bearbeitung großer Datenmengen
- wurde aus der Sprache CODASYL heraus entwickelt
- Erster COBOL-Standard: 1960
- Derzeit am häufigsten verwendete Standard: ANS-85
- Letzte Standardisierung: ANS-2002

Allgemeine Sprachsyntax:
- COBOL ist nicht case sensitive, ursprünglich wurden alle Programm in Großbuchstaben geschrieben,
heute sind Kleinbuchstaben möglich, werden aber auf Grund der Lesbarkeit meist nur in Texten und Kommentaren verwendet

- Ein COBOL-Programm ist in Teile (DIVISION), Kapitel (SECTION) und Abschnitte (PARAGRAPH) gegliedert.

- Die vier festgelegten DIVISIONs haben eine spezielle Reihenfolge
        IDENTIFICATION DIVISION. (Erkennungsteil)
        ENVIREMENT DIVISION. (Maschinenteil)
        DATA DIVISION. (Datendefinitionsteil)
        PROCEDURE DIVISION. (Prozedurteil)

- Die IDENTIFICATION DIVISION ist zwingend vorgeschrieben. Alle anderen müssen nur geschrieben werden, wenn diese notwendig sind.

- Jede DIVISION kann weiter in SECTIONS unterteilt sein.

- Jede Section kann wiederrum in PARAGRAPHEN unterteilt werden.

- Jede DIVISION, SECTION oder PARAGRAPH beginnt mit der jeweiligen Überschrift und endet mit einem Punkt.


Aufbau einer COBOL-Zeile:
Der Standard ANS-85 sieht das fixe Format einer Zeile vor. Diese umfasst 80 Zeichen und wird in verschiedene Bereiche eingeteilt. Der Standard ANS-2002 erlaubt auch das freie Format mit 255 Zeichen, wird jedoch vermutlich zur Zeit noch nciht oft verwendet.

Stelle Bedeutung
01-06 Bereich zur Zeilennumerierung von 000001 bis 999999. Dies wurde früher bei der Nummerierung der Lochkarten verwendet. Er wird heute manchmal auch zur Kennzeichnung von Änderungen verwendet
07 Kennzeichnung für den Zeilentyp:
BLANK......normale Zeile
*..........Kommentarzeile
-..........Fortsetzungszeichen bei nichtnumerischen Literalen
/..........Seitenvorschub
D.........kann zum Debuggen verwendet werden. Wird im Paragraphen SOURCE-COMPUTER WITH DEBUGGING MODE angegeben, wird die Zeile vom Kompiler normal ausgeführt, sondt wird diese als Kommentar bearbeitet
08-11 A-Bereich
Hie müssen folgende Anweisungen beginnen:
- Überschriften von DIVISIONS, SECTIONS und PARAGRAPHEN
- FD Angaben für Dateien
- Die Stufennummern 01 bei Variablendefinitionen
12-72 B-Bereich
Hier müssen folgen Anweisungen beginnen:
- Angaben zu dem verschiedenen SECTIONS der ersten drei DIVISIONS
- COBOL Befehle
73-80 Bereich für COBOL-unabhängig Kennzeichnung

Willkommen

Hi, mein Name ist Ivi und ich habe mich dazu entschlossen ein wenig Informationen zu Programmiersprachen wie Cobol mal das ein oder andere zu veröffentlichen. Sicher werden viele von euch denken, ja ... ja.. cobol hab ich in meinem Informatikstuduim mal gehört. Da wurde immer gesagt, dass das quasi ausgestorben ist und es niemand mehr verwendet. So ungefähr dachte ich auch als ich aus dem Studium kam, bis ich an mein Arbeitsstelle kam, wo Begriffe wie Großrechner, ISPF, COBOL, NATURAL und Dateiverarbeitung irgendwie noch sehr groß geschrieben werden. Wenn man die Sprache dann lernt, erfährt man auch, dass diese vor allem bei Banken noch häufig eingesetzt werden. Und in der IX von Anfang des Jahres habe ich gelesen, dass vom weltweiten Softwareumfang geschätzt auf 310 Milliarden Programmzeilen, rund 200 Milliarden (65%) COBOL sein sollen. Es ist für solche großen und alten Abläufe einfach zu viel Aufwand dies alles in neue Sprachen umzuschreiben, ganz abgesehen davon, dass diese den Code vielleicht unnötig aufblähen würden und zu längeren Laufzeiten führen. Sicherlich sind diese Großrechnersprachen nicht für alle Bereiche anwendbar, aber auch für sie ist noch Bedarf. Als ich angefangen habe, habe ich versucht online dazu Hilfe zu finden, doch dies ist nicht sehr leicht. Ich will deshalb versuchen ein Anlaufpunkt für "junge" Cobolprogrammierer zu sein und hoffe, dass ich mein Kenntnisse dabei auch etwas stärken kann und vielleicht andere leute finde, die mir hierbei helfen. Wenn ihr euch fragt, warum baut sie es als Blog auf und nicht als ordentliche Webseite mit Kapiteln etc!? Dann einfach aus dem grund, dassich dafür gerade zu faul bin und nicht weiß wei lange ich diesen Versuch durchhalte. Sollte es irgendwann ein große und interessante Sammlung ergeben, so werde ich es in ein neues Format bringen. Bis dahin müsste ihr hiermit leben, sorry.