www.wikidata.de-de.nina.az
COBOL ist eine Programmiersprache die in der Fruhzeit der Computerentwicklung Ende der 1950er Jahre entstand und bis heute verwendet wird 1 Der Stil dieser Programmiersprache ist stark an die naturliche Sprache angelehnt und dient vor allem der Programmierung kaufmannischer Anwendungen COBOLParadigmen Zunachst rein imperativ spater erweitert um Elemente der strukturierten prozeduralen und heutzutage sogar objektorientierten ProgrammierungErscheinungsjahr 1959Entwickler Grace Hopper William Selden Gertrude Tierney Howard Bromberg Howard Discount Vernon Reeves Jean E SammetAktuelle Version COBOL 2014 2014 Typisierung stark statischDialekte DEC COBOL HP COBOL IBM OS VS COBOL IBM COBOL II IBM COBOL SAA IBM Enterprise COBOL IBM COBOL 400 IBM ILE COBOL Unix COBOL X Open Micro Focus COBOL Microsoft COBOL Ryan McFarland RM COBOL Ryan McFarland RM COBOL 85 DOSVS COBOL UNIVAC COBOL Realia COBOL Fujitsu COBOL ACUCOBOL GTBeeinflusst von FLOW MATIC COMTRAN FACTBeeinflusste PL I PL SQL ABAPBetriebssystem z OS Windows Linux Mac OS X BS2000 OS 400 u v m Die Abkurzung COBOL steht fur Common Business Oriented Language 2 Inhaltsverzeichnis 1 Geschichte 2 Sprachsyntax 2 1 Kodierung 2 2 Datendeklarationen 2 3 Prozedurale Anweisungen 2 3 1 Einfache Codeschnipsel 2 3 2 IF ELSE und EVALUATE 2 3 3 Schleifen 3 COBOL heute 4 Entwicklung und Standardisierung 4 1 Entwicklung durch CODASYL 4 2 Erweiterungen durch X Open die Open Group 4 3 Standardisierung durch ANSI 4 4 Internationale Standardisierung bei ISO 4 5 Module und standardkonforme Implementierungen 4 6 COBOL Compiler 4 7 COBOL Generatoren 5 Literatur 6 Weblinks 7 EinzelnachweiseGeschichte BearbeitenCOBOL entstand aus dem dringenden Wunsch eine hardwareunabhangige standardisierte problemorientierte Sprache fur die Erstellung von Programmen fur den betriebswirtschaftlichen Bereich anwenden zu konnen Die Programmierung kaufmannischer Anwendungen unterscheidet sich von technisch wissenschaftlichen Anwendungen vor allem durch die Handhabung grosser Datenmengen statt der Ausfuhrung umfangreicher Berechnungen Nachdem die Programmierung technisch wissenschaftlicher Anwendungen durch FORTRAN bereits sehr vereinfacht worden war sollte die neue Programmiersprache kaufmannische Problemstellungen insbesondere die Handhabung grosser Datenmengen und deren Ein und Ausgabe starker unterstutzen wozu bis dahin weitgehend Assemblersprachen verwendet wurden Eine vom amerikanischen Verteidigungsministerium eingesetzte Arbeitsgruppe entwickelte einen Standard aus der Verbindung der damaligen Programmiersprachen FLOW MATIC von Sperry Univac Remington Rand Commercial Translator COMTRAN von IBM und FACT von Minneapolis Honeywell Namentlich beteiligt hieran war Grace M Hopper die bereits FLOW MATIC sowie den ersten Compiler A 0 entwickelt hatte 3 4 Das Ergebnis wurde 1960 als COBOL 60 von CODASYL verabschiedet in der Folgezeit weiterentwickelt und von nationalen und internationalen Normierungsinstituten ANSI ISO standardisiert COBOL fand schnell den Weg in die zivile Nutzung als eine der ersten kommerziell eingesetzten kompilierbaren Programmiersprachen und ist bis heute eine der am weitesten verbreiteten fur kaufmannische Anwendungen 2020 entstand in den USA noch einmal Nachfrage nach COBOL Entwicklern als im Zuge der Corona Pandemie die Arbeitslosenzahlen sprunghaft anstiegen aber die Verwaltungssysteme der Arbeitslosenversicherung im US Bundesstaat New Jersey der Nachfrage nicht mehr gewachsen waren 2 5 Sprachsyntax BearbeitenUrsprunglich wurde COBOL nur in Grossbuchstaben geschrieben da nur Lochkarten und Zeilendrucker ohne Kleinbuchstaben zur Verfugung standen Auch heute wird nicht zwischen Gross und Kleinschreibung unterschieden COBOL ist somit case insensitive Ein COBOL Programm ist in Teile DIVISION Kapitel SECTION und Abschnitte PARAGRAPH gegliedert Die vier DIVISIONs sind in ihrer festgelegten Reihenfolge Identification Division mit dem Programmnamen und einigen weitgehend obsoleten Paragraphen fur Kommentare Environment Division in der Schnittstellen zum Betriebs und dessen Dateisystem definiert werden Data Division mit der Definition der Programmvariablen und Datenstrukturen und Procedure Division mit den prozeduralen Anweisungen In der IDENTIFICATION DIVISION gibt es keine SECTIONs und in der PROCEDURE DIVISION konnen neuerdings SECTIONs und auch PARAGRAPHs entfallen ENVIRONMENT und DATA DIVISIONs konnen unter Umstanden ganz entfallen Hieran sieht man die strikte Trennung von Datendeklaration und prozeduralen Anweisungen durch die sich COBOL auszeichnet Im Prozedurteil kann man nur Variablen benutzen die vorher im Datenteil deklariert worden sind Auch das Aussehen von formatierten Ausgaben wird nicht im Prozedurteil sondern im Datenteil durch die PICTURE Klausel festgelegt Der REPORT WRITER macht es moglich die Struktur einer Druckliste komplett im Datenteil als physische Struktur von Seiten und logische Struktur von Postenzeilen mit Gruppensummen etc zu beschreiben ohne dass sich der Prozedurteil darum kummern muss Kodierung Bearbeiten Das traditionelle Kodierschema bei COBOL entspricht der Lochkarte mit ihren 80 Spalten d h Schreibstellen Dabei waren die ersten 6 Stellen fur die Zeilennummerierungen reserviert Spalte 7 wurde zur Kennzeichnung einer Kommentar oder einer Fortsetzungszeile beziehungsweise einer die nur fur das Debugging ubersetzt werden soll reserviert Spalte 8 bis 11 Area A beinhaltete die Namen von Divisions Sections und Paragraphs Die 12 bis 72 Spalte Area B beherbergten alles ubrige zum Beispiel Anweisungen statements Spalte 73 bis 80 waren fur sonstige Markierungen wie z B den Namen des Programms oder Quelltext Elementen vorgesehen Die Standards ab 2002 kennen neben dem fixen Zeilenformat das die Einteilung in Area A und Area B aufhebt ein ganz freies Format das in den Spalten 1 bis 255 alles erlaubt Die Sonderrolle der Spalte 7 entfallt da Kommentare mit gt eingeleitet Literale mittels amp zusammengesetzt und Debuggingzeilen mittels bedingter Ubersetzung realisiert werden gt gt DEFINE gt gt IF Ein fast minimales COBOL Programm Identification Division Program ID HALLOPGM Procedure Division Display Hallo Welt STOP RUN Datendeklarationen Bearbeiten erfolgen in der Data Division Dateien und deren Satzstrukturen werden in der File Section beschrieben Statische globale Variablen werden in der Working Storage Section definiert Automatische lokale bzw dynamische Variablen werden in der Local Storage Section definiert siehe Stack Aufruf Parameter werden in der Linkage Section definiert Komplexe Drucklisten werden in der Report Section definiert Bildschirmein und ausgabe in der Screen Section Zur Deklaration von Variablen bietet COBOL zahlreiche Klauseln deren wichtigsten die Stufennummer die PICTURE Klausel und die USAGE Klausel sind StufennummerDie Stufennummer 77 kennzeichnet eine freistehende Variable Die Stufennummer 01 kann ebenfalls eine freistehende Variable bezeichnen leitet aber normalerweise die Deklaration einer Gruppe ein was in anderen Sprachen als Record Pascal u a oder struct C C u a bezeichnet wird Die Stufennummern 02 bis 49 kennzeichnen dann dieser Gruppe untergeordnete Datendeklarationen die selber auch wieder Gruppen sein konnen Eine Datendeklaration die keine untergeordneten Datendeklarationen d h mit hoheren Stufennummern hat wird in COBOL als elementar elementary item bezeichnet anderenfalls ist es eine Gruppen Variable group item Derartige Datendeklarationen kann man abstrakt als Baum darstellen mit den Gruppen als Knoten und den elementary items als Blattern denen uber die PIC Klausel Datenformate zugeordnet sind Mit der speziellen Stufennummer 66 kann man ganzen Speicherbereichen einen anderen Namen geben mit 88 einen Bedingungsnamen definieren der wie ein boolescher Ausdruck in zum Beispiel einer IF Anweisung verwandt werden kann Die Stufennummern werden ublicherweise zweistellig geschrieben Aus den Lochkartenzeiten stammt die Gewohnheit die Stufennummern in einer Gruppendefinition nicht fortlaufend sondern in Schritten von 5 oder 10 zu vergeben weil man dann Zwischenstufen einfugen konnte ohne gleich einen ganzen Kartenstapel neu lochen zu mussen Das folgende Beispiel beschreibt das Layout der traditionellen 80 stelligen COBOL Programmzeile 01 Cobol Zeile USAGE DISPLAY 05 Zeilennummer PIC 9 6 05 Indikator PIC X 88 Ist Kommentar VALUES 88 Ist Fortsetzungszeile VALUE 88 Ist Debuggingzeile VALUE D d 05 Bereich A und B 10 Bereich A PIC X 4 10 Bereich B PIC X 61 05 Zeilen Endekennung PIC X 8 Die Definition eines Wertebereiches sieht als Beispiel so aus 01 Wertebereich PIC 99V99 USAGE COMPUTATIONAL 88 Einerwerte Value 1 thru 9 88 Zehnerwerte Value 10 thru 19 88 Zwanzigerwerte Value 20 thru 29 Internes und Externes DatenformatAussere Erscheinung und interne Reprasentation werden im Wesentlichen durch die Klauseln PICTURE und USAGE bestimmt Mit USAGE COMP werden binare Rechen und Vergleichsoperationen ausgefuhrt USAGE DISPLAY dient zur Anzeige Arithmetische Operationen und Vergleiche kleiner gleich grosser sind mit USAGE COMP 3 direkt moglich Mit Angaben hinter PICTURE wird die Anzahl der Stellen Zeichen oder auch Editiersymbole wie Dezimal oder Tausendertrennzeichen Vorzeichen Wahrungssymbole gedachtes Dezimaltrennzeichen V etc festgelegt Sie bestimmen eine elementare Variable damit als entweder alphabetisch alphanumerisch numerisch oder numerisch editiert Sind fur arithmetische Operationen wie ADD BETRAG X to SUMME Y oder IF DATUM A gt DATUM B Variablen mit uneinheitlichen numerischen Formaten beteiligt so wird vor der Operation automatisch eines oder beide der Datenfelder in ein fur die Operation gultiges Format konvertiert Die Formatierung fur sichtbare Ausgaben wird durch die Datendeklaration bestimmt nicht durch prozedurale Anweisungen wie in Sprachen wie Pascal oder C Weitere der insgesamt etwa 60 moglichen Klauseln einer Datendeklaration moge man in einem COBOL Handbuch nachschlagen TabellenformateMehrfach auftretende Daten in COBOL Tabellen genannt siehe Feld Datentyp werden durch die OCCURS Klausel definiert Beispiel fur eine mehrdimensionale Tabelle 05 PRODUKT OCCURS 100 10 PRODUKTNR PICTURE 999 10 PRODUKTNAME PICTURE X 30 10 PREIS PICTURE 999V99 OCCURS 5 INDEXED BY IND KUNDENGRUPPE Die Occurs Klausel ist sowohl je Datengruppe als auch fur Elementarfelder moglich Die Adressierung der jeweiligen Dimension kann alternativ durch die Index Methode Zusatz Indexed BY lt IND NAME gt oder durch ein Subscript erfolgen Ein Subscript ist der Name einer numerischen Variable im jeweiligen COBOL Befehl Beispiel MOVE PRODUKTNR PNR TO xx Ein Index enthalt die Distanz der zu adressierenden Datendimension zum Beginn der Tabelle und wird mit einem SET Befehl explizit auf diesen Wert eingestellt SET IND KUNDENGRUPPE BY KUNDENGRP Die Indizierung ist vorteilhaft wenn sich mehrere viele Einzelbefehle auf die zu adressierende Dimension beziehen weil der wesentliche Teil der Adressberechnung nicht je Befehlsausfuhrung sondern bei SET erfolgt Die Maschinenbefehle zur Berechnung des Abstands der durch Index Subscript adressierten Dimension zum Anfang der Tabelle z B PNR 1 Lange Datengruppe PRODUKT werden in beiden Versionen automatisch dem eigentlichen COBOL Befehl MOVE IF usw vorangestellt und ausgefuhrt In mehrdimensionalen Tabellen siehe Beispiel konnen beide Adressierungsmethoden gemischt angewendet werden Mit dem Zusatz DEPENDING ON xxx kann die Anzahl der Tabellenelemente variabel definiert werden Prozedurale Anweisungen Bearbeiten In der Procedure Division findet sich der ausfuhrbare Programmcode Die Ausfuhrung beginnt mit der ersten Anweisung hinter der Uberschrift Procedure Division bzw den DECLARATIVES deren Ausfuhrung nur durch bestimmte Ereignisse ausgelost wird Danach werden alle Anweisungen sequentiell ausgefuhrt bis ein STOP RUN das Programm beendet oder ein GO TO bzw PERFORM mit anschliessender Ruckkehr zu einer anderen Stelle im Programm verzweigt Die Procedure Division besteht aus einer oder mehreren Prozeduren Eine Prozedur ist entweder eine Section Bezeichnet mit einem Namen der in Spalte 8 beginnt gefolgt von dem Schlusselwort SECTION und einem Punkt enthalt meist mehrere Paragraphen ein Paragraph Bezeichnet mit einem Namen der in Spalte 8 beginnt und mit Punkt endet Eine solche Prozedur enthalt die Anweisungen des COBOL Programms Statements Prozeduren konnen mit der COBOL Anweisung Perform von anderen Stellen im Programm aus ausgefuhrt aufgerufen werden Durch den Zusatz THRU lt proz name gt in der Perform Anweisung konnen mehrere Prozeduren zur Ausfuhrung zusammengefasst werden Es gibt keine formale Parameterubergabe alle Prozeduren haben Zugriff auf alle Felder in der Data Division Mittels CALL konnen externe Programme COBOL oder andere Programmiersprachen aufgerufen werden Dabei werden Parameter By Reference oder By Content je nach COBOL Version auch By Value genannt ubergeben wodurch u a unterschieden wird ob ubergebene Parameter Variablen vom aufgerufenen Programm fur das aufrufende Programm wirksam geandert werden konnen by ref oder nicht by content COBOL unterstutzt seit dem Standard 1974 VS COBOL II die strukturierte Programmierung seither ist die Verwendung von GOTO zwar noch moglich aber verpont In der professionellen Programmierung herrschen hausinterne Programmierstandards welche in der Mehrzahl festlegen dass Prozeduren ausschliesslich aus einer Section bestehen COBOL wurde mit einer an der englischen Sprache angelehnten Syntax entworfen um selbst dokumentierend und auch fur Nicht Programmierer im Wesentlichen leicht lesbar zu sein Alle Anweisungen beginnen mit einem in den COBOL Schlusselwortern reservierten Verb wie in MOVE x TO y im Gegensatz zu Kurznotierungen wie y x in anderen modernen Programmiersprachen Einfache Codeschnipsel Bearbeiten Zur Darstellung der Syntax wird einfache C Syntax zu Hilfe genommen Eine Zuweisung a b in Centspricht in COBOL MOVE b TO aArithmetische Ausdrucke und Zuweisungen a b ckann in COBOL folgendermassen geschrieben werden ADD b TO c GIVING a oder alternativ COMPUTE a b canalog b a 1 in Centspricht in COBOL SUBTRACT 1 FROM a GIVING b dd Der Inkrementoperator a in Centspricht in COBOL ADD 1 TO aDer Dekrementoperator a in Centspricht in COBOL SUBTRACT 1 FROM aIF ELSE und EVALUATE Bearbeiten IF und ELSE funktionieren so wie man es erwartet Das End If wurde erst mit dem COBOL85 Standard eingefuhrt Im COBOL74 Standard wurde die IF Anweisung noch durch einen Punkt beendet was eine leicht zu ubersehende Fehlerquelle darstellen konnte COBOL85 Syntax If Nenner gt 0 Compute Zahl Zaehler Nenner End Compute Else Display Nenner sollte gt 0 sein Move 0 To Zahl End If COBOL68 Syntax If Nenner gt 0 Compute Zahl Zaehler Nenner Else Display Nenner sollte gt 0 sein Move 0 To Zahl EVALUATE macht die mehrfache Fallunterscheidung womit jede Form von CASE oder Switch wie in C Folgen von IF ELSIF ELSIF END IF bis hin zu vollstandigen Entscheidungstabellen dargestellt werden kann Die Anweisung EVALUATE wurde erstmals in COBOL85 integriert COBOL Versionen vor der 85 Version kennen kein EVALUATE so dass dort mehrfache Fallunterscheidungen uber teils schwierig zu lesende IF Konstrukte abgebildet werden mussten Evaluate True When Nenner gt 0 Compute Zahl Zaehler Nenner When Nenner lt 0 Compute Zahl Zaehler Nenner 1 When Other Display Nenner sollte nicht 0 sein Move 0 To Zaehler End Evaluate Eine COBOL Spezialitat sind die sogenannten Conditional Statements das sind COBOL Anweisungen mit einer Bedingungs Klausel COBOL85 Syntax Read Eingabesatz At End Display Dateiende erreicht Eingabe Zaehler gelesen Set Ende der Verarbeitung To True Not At End Add 1 to Eingabe Zaehler End read Schleifen Bearbeiten Eine C Schleife wie for i 0 i lt 10 i wird in COBOL mit PERFORM kodiert COBOL85 Syntax Perform Varying i From 0 By 1 Until i gt 10 End PerformCOBOL heute BearbeitenDas Haupteinsatzgebiet der Programmiersprache COBOL ist die betriebswirtschaftliche Datenverarbeitung Wenn EDV Programme in eine Benutzerschnittstelle einen Verarbeitungsteil und einen Datenhaltungsteil strukturiert werden liegt der Einsatzschwerpunkt von COBOL Programmen im Verarbeitungsteil Insbesondere auf PCs aber auch auf anderen Systemen konnen als Benutzerschnittstelle eine Vielzahl von Moglichkeiten zum Einsatz kommen Neben den Standard COBOL Anweisungen ACCEPT zur Tastatureingabe und DISPLAY zur Bildschirmausgabe kommt aus der X OPEN Spezifikation die SCREEN SECTION hinzu ausserdem herstellerspezifische Losungen Sofern die Anwendungsarchitektur in mehrere Schichten getrennt ist kann die Prasentationsschicht auch auf den Client verlagert werden Dies erlaubt den Zugriff auf COBOL Anwendungen uber grafische Frontends Client und Server mussen dazu ein Kommunikationsprotokoll unterstutzen Musste ein solches ursprunglich manuell entwickelt werden so stellten spater die Architekturmuster der SOA entsprechende Standards bereit Der Datenhaltungsteil kann mit COBOL Mitteln oder mit einem Datenbankanschluss realisiert werden Fur den Zugriff auf relationale Datenbanken stellt COBOL embedded SQL EXEC SQL zur Verfugung Auch kann man stored procedures in COBOL programmieren COBOL ist in der Wirtschaft insb bei Banken und Versicherungen 6 7 und der Verwaltung z B bei den Finanzbehorden weit verbreitet Aufgrund der historisch gewachsenen Anzahl an COBOL Programmen ist es fur die Unternehmen sehr schwer und sehr teuer diese zu ersetzen Mangelnde Dokumentation ist hier jedoch als Hauptgrund zu nennen Softwarekrise nicht jedoch die Unersetzlichkeit von COBOL Einige der Neuerungen in COBOL der letzten Jahrzehnte in Klammern der Standard der dies einfuhrte Nested Program COBOL 85 erlaubt es innerhalb eines COBOL Programms Prozeduren mit lokalen Variablen zu schreiben Intrinsic Functions Anhang von 1989 zu COBOL 85 fur mathematische und andere Funktionen Das COBOL Verb XML PARSE proprietar bietet einen integrierten XML Parser Ebenso gibt es JSON PARSE fur JSON OO Erweiterungen COBOL 2002 erleichterten die Zusammenarbeit mit objektorientierten Programmiersprachen Formatfreie Notation COBOL 2002 erlaubt eine Zeilenlange von 255 Zeichen und ein Verzicht auf die alten Margins A und B Bedingte Kompilierung COBOL 2002 und ein preprocessing proprietar Entwicklung und Standardisierung BearbeitenEin Ausschuss des oben erwahnten CODASYL erarbeitete im Jahr 1959 einige Grundsatze legte den Namen COBOL fest und veroffentlichte im April 1960 seinen Abschlussbericht mit den ersten Spezifikationen der Programmiersprache die als COBOL 60 in die Geschichte eingingen Im Rahmen von CODASYL gab es dann standig einen Ausschuss teilweise mit Unterausschussen der bzw die sich mit der Weiterentwicklung von COBOL befassten und im Lauf der Jahrzehnte verschiedene Namen und verschiedene Status innerhalb von CODASYL hatten Entwicklung durch CODASYL Bearbeiten COBOL 60 zeigte die Praktikabilitat der angestrebten gemeinsamen Programmiersprache COBOL 61 war nur teilweise kompatibel mit der Vorgangerversion wurde aber weitgehend in zahlreichen Compilern implementiert CODASYL hat sich dann darauf verpflichtet die Sprache von da aus evolutionar weiterzuentwickeln statt revolutionare Anderungen vorzunehmen Mit COBOL 61 EXTENDED kamen u a die SORT Moglichkeiten und der REPORT WRITER hinzu COBOL EDITION 1965 fugte u a interne Tabellen und Optionen fur Dateibearbeitung hinzu Weitere Dokumente zur Entwicklung sind die CODASYL COBOL JOURNAL OF DEVELOPMENT der Jahre 1968 1969 1970 1973 1976 1978 1981 und 1984 Erweiterungen durch X Open die Open Group Bearbeiten Im Rahmen der Bemuhungen um einen Standard fur das Betriebssystem Unix durch die Industrievereinigung X Open die Open Group wurden dafur auch Spezifikationen fur COBOL vereinbart deren jungste von 1991 aus den hochsten Stufen der vorgeschriebenen Module von COBOL 85 besteht mit der Erweiterung von 1989 durch die Intrinsic Functions aber ohne Report Writer Segmentierung und Debugging dafur aber mit eigenen Erweiterungen fur Interaktion mit Bildschirmformularen SCREEN SECTION und ACCEPT DISPLAY gemeinsamen Zugriff auf Dateien mit Sperren auf Dateien und Satze sowie Internationalisierung mit z B Doppelbyte Zeichensatzen Standardisierung durch ANSI Bearbeiten Im Jahr 1960 wurde angeregt durch den Industrieverband Computer and Business Equipment Manufacturers Association im Rahmen der US amerikanischen Standardisierungsorganisation ASA ein Committee on Computers and Information Processing mit der Nummer X3 geschaffen welches dann einen Unterausschuss X3 4 fur Programmiersprachen einrichtete der wiederum einen Unterausschuss X3 4 4 fur COBOL einrichtete Im Dezember 1962 wurden Hersteller und andere Interessierte zur Mitarbeit an der Standardisierung eingeladen wobei dann festgelegt wurde dass die Standardisierung auf den Publikationen des CODASYL fussen sollten Der erste Standard wurde am 23 August 1968 als USA Standard COBOL 1968 verabschiedet und als Dokument X3 23 1968 veroffentlicht Der Ausschuss X3 4 4 wurde dann zum Technischen Komitee X3J4 wie er auch heute noch heisst und machte sich an die Arbeit den nachsten Standard zu entwickeln der dann am 10 Mai 1974 als American National Standard COBOL 1974 verabschiedet und dann im Dokument ANS X3 23 1974 veroffentlicht wurde Der nachste Standard wurde im April 1985 von X3J4 verabschiedet und im September vom zustandigen Entscheidungsgremium der inzwischen ANSI heissenden Organisation angenommen und dann als ANS X3 23 1985 veroffentlicht COBOL 85 fuhrte mit Begrenzern wie END IF und END PERFORM erstmals die Moglichkeit ein in COBOL beliebig geschachtelte Entscheidungs IF EVALUATE und Wiederholungsanweisungen PERFORM zu schreiben und damit die sogenannte strukturierte Programmierung in COBOL zu praktizieren Zu COBOL 85 wurde spater ein Zusatz mit eingebauten intrinsic Funktionen und ein weiterer mit Korrekturen zum Standard veroffentlicht Ein neuer Standard wurde 2002 verabschiedet Wesentliche Anderungen darin sind die Ubernahme der Erweiterungen durch X Open die explizite Unterstutzung von internationalen Zeichensatzen einschliesslich Unicode die objektorientierte Programmierung sowie bedingte Kompilierung neben zahlreichen anderen Erweiterungen und Prazisierungen Nach dem Ende von CODASYL hat das Komitee J4 auch die Verantwortung nicht nur fur die Standardisierung sondern auch fur die Entwicklung ubernommen Der nachste Standard wurde fur das Jahr 2010 vorbereitet und wurde 2014 veroffentlicht Internationale Standardisierung bei ISO Bearbeiten Das Komitee X3J4 fruher X3 4 4 hat von Anfang an eng mit verschiedenen internationalen Gremien zusammengearbeitet Dementsprechend stimmte ANS COBOL X3 23 1968 mit der ISO Empfehlung fur COBOL uberein In der ISO ist das Technical Committee ISO TC 97 Computers and Information Processing zustandig dessen Sekretariat vom ANSI gestellt wird ISO hat zu COBOL eine Empfehlung Recommendation R 1989 1972 sowie Standards ISO 1989 1978 und ISO 1989 1985 verabschiedet und dabei die Vorgabe des US Standardisierungsgremiums ubernommen 2002 wurde ein weiterer Standard umgekehrt zuerst als ISO IEC 1989 2002 veroffentlicht und dann von den nationalen Standardorganisationen ubernommen Dieser wurde 2014 als ISO IEC 1989 2014 erweitert Der aktuelle Standard wurde im Januar 2023 als ISO IEC 1989 2023 veroffentlicht Module und standardkonforme Implementierungen Bearbeiten COBOL 68 COBOL 74 und COBOL 85 ordneten die verschiedenen Features der Sprache einem Modul mit jeweils einem bis drei Levels zu woraus dann minimale und volle Implementierungen des Standards als Kombination von bestimmten Levels der jeweiligen Module definiert wurden Eine mit COBOL 2002 konforme Implementierung muss den gesamten Sprachumfang implementieren COBOL Compiler Bearbeiten Fur Computer der Klassen Grossrechner und Mittlere Datentechnik boten und bieten deren jeweilige Hersteller IBM Unisys Siemens Fujitsu Siemens HP Bull u a auf ihre proprietaren Betriebssysteme zugeschnittene COBOL Compiler an z T verschiedene Compiler die beispielsweise verschiedenen Standards entsprechen Fur Betriebssysteme die aus der UNIX bzw MS DOS Tradition entstanden sind gibt es COBOL Compiler von verschiedenen Software Herstellern Mit GnuCOBOL existiert eine quelloffene Implementierung der Programmiersprache 8 COBOL Generatoren Bearbeiten Es gibt Codegeneratoren die COBOL Programme bzw Teile davon generieren und so die Entwicklungsarbeit erleichtern Dazu gehoren zum Beispiel SWT01 und SWT VDA des Herstellers FSP CA Gen ehemals Cool Gen von CA Technologies sowie die Generatorsysteme ADSplus und SCORE von Delta Software Technology Literatur BearbeitenFranck Barbier Jean Luc Recoussine COBOL Software Modernization iSTE Wiley 1 Auflage 2015 ISBN 1 84821 760 9 Michael Coughlan Beginning COBOL for Programmers Apress 1 Auflage 2014 ISBN 1 4302 6253 2 Nancy B Stern Robert A Stern u James P Ley COBOL for the 21st Century John Wiley amp Sons 11 Auflage 2013 ISBN 1 118 73953 1Weblinks Bearbeiten nbsp Wiktionary COBOL Bedeutungserklarungen Wortherkunft Synonyme Ubersetzungen nbsp Commons COBOL Sammlung von Bildern Videos und Audiodateien COBOL Beispiele aus der Praxis von heute Handbucher zu ILE COBOL ISO IEC 1989 2023Einzelnachweise Bearbeiten Martin Reusch COBOL 2022 So relevant wie nie In it daily net 11 April 2022 abgerufen am 15 August 2023 a b Kathrin Stoll Senior Programmer handeringend gesucht fur 60 Jahre alte Programmiersprache t3n digital pioneers Abgerufen am 23 April 2020 deutsch WDR Memento vom 8 Juni 2016 im Internet Archive Grace Hopper aufgerufen am 8 Juni 2016 Covid 19 Warum in den USA plotzlich wieder Cobol Programmierer gebraucht werden der Standard vom 6 April 2020 Manager Magazin Programmierer mit 70 Jahren oder alter dringend gesucht abgerufen am 23 Mai 2020 IT Finanz Magazin COBOL wird sechzig Evergreen mit Nachwuchssorgen abgerufen am 23 Mai 2020 GnuCOBOL formerly OpenCOBOL Abgerufen am 27 Dezember 2016 Normdaten Sachbegriff GND 4010323 7 lobid OGND AKS LCCN sh85027548 Abgerufen von https de wikipedia org w index php title COBOL amp oldid 236497473