COBOL

COBOL ist eine der ältesten Programmiersprachen. Sein Name ist ein Akronym für die Allgemeine Geschäftsorientierte Sprache, sein primäres Gebiet im Geschäft, der Finanz und den Verwaltungssystemen für Gesellschaften und Regierungen definierend.

Der COBOL-2002-Standard schließt Unterstützung für die objektorientierte Programmierung und anderen modernen Spracheigenschaften ein.

Geschichte und Spezifizierung

Die COBOL-Spezifizierung wurde von einem Komitee von Forschern von der privaten Industrie, den Universitäten und der Regierung während der zweiten Hälfte von 1959 geschaffen. Die Spezifizierungen wurden in reichem Maße durch die Sprache des FLUSSES-MATIC begeistert, die von Grace Hopper - allgemein erfunden ist, gekennzeichnet als "die Mutter der COBOL-Sprache." Die von Bob Bemer erfundene Sprache von IBM COMTRAN wurde auch darauf gezogen, aber die TATSACHE-Sprachspezifizierung von Honeywell wurde Komitee-Mitgliedern bis spät im Prozess nicht verteilt und hatte relativ wenig Einfluss. Status des FLUSSES-MATIC'S als die einzige Sprache des Bündels, das wirklich gemacht es besonders attraktiv für das Komitee ist durchgeführt zu haben sein.

Die Szene wurde am 8. April 1959 auf einer Sitzung von Computerherstellern, Benutzern und Universitätsleuten an der Universität des Rechenzentrums von Pennsylvanien gesetzt. Das USA-Verteidigungsministerium ist nachher bereit gewesen, die folgenden Tätigkeiten zu sponsern und zu beaufsichtigen. Eine von Charles A. Phillips den Vorsitz geführte Sitzung wurde im Pentagon am 28. und 29. Mai 1959 (genau ein Jahr nach dem Zürich Algol 58 Sitzung) gehalten; dort wurde es dafür entschieden, drei Komitees aufzustellen: Kurze, lange und Zwischenreihe (wurde der letzte nie wirklich gebildet). Es war das Kurze Reihe-Komitee, das von Joseph Wegstein vom Nationalen US-Büro von Standards den Vorsitz geführt ist, die während der folgenden Monate eine Beschreibung der ersten Version des COBOL geschaffen haben. Das Komitee wurde gebildet, um eine kurze Reihe-Annäherung an eine allgemeine Geschäftssprache zu empfehlen. Das Komitee wurde aus Mitgliedern zusammengesetzt, die sechs Computerhersteller und drei Regierungsstellen vertreten. Die sechs Computerhersteller waren Burroughs Corporation, IBM, Minneapolis-Honeywell (Honeywell Laboratorien), RCA, Sperry Rand und Sylvania Elektrische Produkte. Die drei Regierungsstellen waren die US-Luftwaffe, der David Taylor Model Basin der Marine und das Nationale Büro von Standards (jetzt Nationales Institut für Standards und Technologie). Das Zwischenreihe-Komitee wurde gebildet, aber ist nie betrieblich geworden. Schließlich hat ein Unterausschuss des Kurzen Reihe-Komitees die Spezifizierungen der COBOL-Sprache entwickelt. Dieser Unterausschuss wurde aus sechs Personen zusammengesetzt:

  • William Selden und Gertrude Tierney von IBM
  • Howard Bromberg und Howard Discount von RCA
  • Vernon Reeves und Jean E. Sammet von Sylvania elektrischen Produkten

Die Entscheidung, den Namen "COBOL" zu verwenden, wurde auf einer Sitzung des am 18. September 1959 gehaltenen Komitees getroffen. Der Unterausschuss hat die Spezifizierungen für das COBOL im Dezember 1959 vollendet.

Die ersten Bearbeiter für das COBOL wurden nachher 1960, und am 6. und 7. Dezember durchgeführt, im Wesentlichen ist dasselbe COBOL-Programm auf zwei verschiedenem Computer gelaufen, macht ein RCA Computer und ein Computer von Remington-Rand Univac, demonstrierend, dass Vereinbarkeit erreicht werden konnte.

ANS COBOL 1968

Nach 1959 hat COBOL mehrere Modifizierungen und Verbesserungen erlebt. In einem Versuch, das Problem der Inkompatibilität zwischen verschiedenen Versionen des COBOL zu überwinden, hat American National Standards Institute (ANSI) eine Standardform der Sprache 1968 entwickelt. Diese Version war als COBOL von American National Standard (ANS) bekannt.

COBOL 1974

1974 hat ANSI eine revidierte Version (des ANS) COBOL veröffentlicht, mehrere Eigenschaften enthaltend, die nicht in der 1968-Version waren.

COBOL 1985

1985 hat ANSI noch eine andere revidierte Version veröffentlicht, die neue Eigenschaften nicht im 1974-Standard, am meisten namentlich strukturierte Sprachkonstruktionen ("Spielraum terminators"), einschließlich usw. hatte.

COBOL 2002 und objektorientiertes COBOL

Die Sprache setzt fort, sich heute zu entwickeln. Am Anfang der 1990er Jahre wurde es dafür entschieden, Gegenstand-Orientierung in der folgenden vollen Revision des COBOL hinzuzufügen. Die anfängliche Schätzung sollte diese Revision vor 1997 vollenden lassen, und eine ISO CD (Komitee-Entwurf) war vor 1997 verfügbar. Ein implementers (einschließlich Mikrofokus, Fujitsu, Veryant und IBM) hat objektorientierte Syntax eingeführt, die auf 1997 oder anderen Entwürfen der vollen Revision gestützt ist. Das Finale hat genehmigt, dass ISO Standard (angenommen als ein ANSI Standard durch INCITS) genehmigt und 2002 bereitgestellt wurde.

Wie der C ++ und javanische Programmiersprachen sind objektorientierte COBOL-Bearbeiter verfügbar, gerade als sich die Sprache zur Standardisierung bewegt. Fujitsu und Micro Focus unterstützen zurzeit objektorientierte COBOL-Bearbeiter, die das.NET Fachwerk ins Visier nehmen.

2002 (4. Revision) des COBOL hat viele andere Eigenschaften außer der Gegenstand-Orientierung eingeschlossen. Diese haben eingeschlossen (aber werden auf nicht beschränkt):

  • Nationale Sprachunterstützung (einschließlich, aber nicht beschränkt auf die Unterstützung von Unicode)
  • Schauplatz-basierte Verarbeitung
  • Benutzerbestimmte Funktionen
  • NENNEN SIE (und Funktion) Prototypen (für die Übersetzungszeit-Parameter-Überprüfung)
  • Zeigestöcke und Syntax, um Lagerung zu kommen und zu befreien
  • Das Benennen der Vereinbarung zu und aus NICHTCOBOL-Sprachen wie C
  • Unterstützung für die Ausführung innerhalb von Fachwerk-Umgebungen wie der.NET des Microsofts und Java (einschließlich des COBOL realisiert als Unternehmen JavaBeans)
  • Bit und Boolean unterstützen
  • "Wahre" binäre Unterstützung (herauf bis diese Erhöhung, binäre Sachen waren gestützt auf gestutzt (stützen Sie 10) Spezifizierung innerhalb der Datenabteilung)
  • Schwimmpunkt-Unterstützung
  • Standard (oder tragbar) Arithmetik resultiert
  • XML Generation und grammatisch analysierend

Geschichte von COBOL-Standards

Die vom vollen Kurzen Reihe-Komitee genehmigten Spezifizierungen wurden vom Exekutivausschuss am 3. Januar 1960 genehmigt, und an die Regierungsdruckerei gesandt, die editiert hat und diese Spezifizierungen als COBOL 60 gedruckt hat.

American National Standards Institute (ANSI) hat mehrere Revisionen des COBOL-Standards erzeugt, einschließlich:

  • COBOL 68
  • COBOL 74
  • COBOL 85
  • Innerer Funktionszusatzartikel - 1989
  • Korrektur-Zusatzartikel - 1991

Nach den Zusatzartikeln zum ANSI 1985-Standard (die durch ISO angenommen wurden), primäre Entwicklung und Eigentumsrecht wurde durch ISO übernommen. Die folgenden Ausgaben und TRs (Technische Berichte) sind durch ISO ausgegeben (und als ANSI angenommen worden) Standards:

  • COBOL 2002
  • Finalizer Technischer Bericht - 2003
  • Heimische XML Syntax Technischer Bericht - 2006
  • Wenden Sie Orientierte Sammlungsklassenbibliotheken - während der Endbilligung ein...

Von 2002 ist der ISO Standard auch für das Publikum codiert als ISO/IEC 1989 verfügbar.

Arbeit schreitet auf der folgenden vollen Revision des COBOL-Standards fort. Billigung und Verfügbarkeit wurden Anfang der 2010er Jahre erwartet. Für die Information über diese Revision, um den letzten Entwurf dieser Revision zu sehen oder zu sehen, was andere Arbeiten mit dem COBOL-Standard geschehen, sieh die COBOL-Standardwebsite.

Vermächtnis

COBOL-Programme sind im Gebrauch allgemein in militärischen und Regierungsagenturen und in kommerziellen Unternehmen, und laufen auf Betriebssystemen wie der z/OS und z/VSE von IBM, die POSIX Familien (Unix/Linux usw.), und Windows des Microsofts sowie der VME von ICL Betriebssystem und der OS von Unisys 2200. 1997 hat Gartner Group berichtet, dass 80 % des Geschäfts in der Welt auf dem COBOL mit mehr als 200 Milliarden Linien des Codes in der Existenz und mit ungefähr 5 Milliarden Linien des neuen Codes jährlich gelaufen sind.

In der Nähe vom Ende des zwanzigsten Jahrhunderts war das Problem des Jahres 2000 der Fokus des bedeutenden COBOL-Programmieraufwands manchmal durch dieselben Programmierer, die die Systeme wenige Jahrzehnte vorher entworfen hatten. Das besondere Niveau der für den COBOL-Code erforderlichen Anstrengung ist beide dem großen Betrag des geschäftsorientierten COBOL zugeschrieben worden, wie COBOL durch das Design ist, verwenden eine Geschäftssprache und kommerzielle Anwendungen Daten schwer, und zu Konstruktionen der COBOL-Sprache wie die BILDER-Klausel, die verwendet werden kann, um feste Länge numerische Felder einschließlich zweistelliger Felder seit Jahren zu definieren. Wegen der Reinigungsanstrengung, die in diese COBOL-Programme für Y2K gestellt ist, sind viele von ihnen im Gebrauch seit Jahren seitdem behalten worden. Es sollte jedoch bemerkt werden, dass, während viel vom Y2K-Fokus auf dem COBOL war, die Schuld nicht im Design der Sprache selbst, aber dem Design der Anwendungen war, die im COBOL geschrieben wurden.

Eigenschaften

COBOL, wie definiert, in der ursprünglichen Spezifizierung hat eine BILDER-Klausel für die ausführliche Feldspezifizierung eingeschlossen. Es hat lokale Variablen, recursion, dynamische Speicherzuteilung nicht unterstützt, oder hat Programmierkonstruktionen strukturiert. Die Unterstützung für einige oder alle diese Eigenschaften ist in späteren Ausgaben des COBOL-Standards hinzugefügt worden. COBOL hat viele vorbestellte Wörter (mehr als 400), genannt Schlüsselwörter.

Das Selbständern des Codes

Die ursprüngliche COBOL-Spezifizierung unterstützt, Code über das berüchtigte selbstmodifizierend, "VERÄNDERT SICH X, um ZU Y" Behauptung WEITERZUGEHEN. X und Y sind Paragraf-Etiketten und irgendwelcher "GOTO X" nach solch einem durchgeführte Behauptungen, Behauptung VERÄNDERT, haben die Bedeutung "GOTO Y" stattdessen. Die meisten Bearbeiter unterstützen es noch, aber es sollte in neuen Programmen nicht verwendet werden, weil es im COBOL 1985 missbilligt wurde.

Syntaktische Eigenschaften

COBOL stellt eine Syntax der Aktualisierung im Platz, zum Beispiel zur Verfügung

FÜGEN SIE JAHRE HINZU, UM ALT ZU MACHEN

</syntaxhighlight>

Die gleichwertige Konstruktion auf vielen Verfahrenssprachen würde sein

Alter = Alter + Jahre

</syntaxhighlight>

Diese Syntax ist dem zusammengesetzten durch C später angenommenen Anweisungsmaschinenbediener ähnlich:

Alter + = Jahre

</syntaxhighlight>

Der abgekürzte bedingte Ausdruck

WENN GEHALT> 8000 ODER OBERAUFSEHER-GEHALT ODER = PREV-GEHALT

</syntaxhighlight>ist

zu gleichwertig

WENN GEHALT> 8000

ODER GEHALT> OBERAUFSEHER-GEHALT

ODER GEHALT == PREV-GEHALT

</syntaxhighlight>

COBOL stellt "genannt Bedingungen" (so genannte 88 Niveaus) zur Verfügung. Diese werden als Subsachen eines anderen Artikels (die bedingte Variable) erklärt. Die genannte Bedingung kann in verwendet werden, WENN Behauptung und Tests, ob die bedingte Variable einigen der in der WERT-Klausel der genannten Bedingung gegebenen Werte gleich ist. Die SATZ-Behauptung kann verwendet werden, um eine genannte Bedingung WAHR (durch das Zuweisen des ersten von seinen Werten zur bedingten Variable) zu machen.

COBOL erlaubt Bezeichnern bis zu 30 Charaktere lange. Als COBOL eingeführt wurde, waren viel kürzere Längen (z.B, 6 Charaktere für FORTRAN) überwiegend.

COBOL hat das Konzept von Schreibheften — Klötze des Codes eingeführt, der in ein größeres Programm eingefügt werden kann. COBOL tut das mit der KOPIE-Behauptung, die auch anderem Code erlaubt, Teile des Codes des Schreibheftes mit anderem Code zu ersetzen (das ERSETZEN verwendend... DURCH... die Klausel).

Datentypen

Standard-COBOL stellt die folgenden Datentypen zur Verfügung:

Die meisten Verkäufer stellen zusätzliche Typen zur Verfügung wie:

Hallo, Welt

Ein Beispiel "Hallo," Weltprogramm im COBOL:

ERKENNUNGSTEIL.

PROGRAMM-PERSONALAUSWEIS. HALLO WELT-.

VERFAHREN-ABTEILUNG.

ZEIGEN SIE 'Hallo, Welt'.

HALTEN SIE GEFÜHRT AN.

</syntaxhighlight>

Wie jede weit verbreitete Programmiersprache gibt es verschiedene Dialekte des COBOL. Einige Bearbeiter erlauben zum Beispiel den Gebrauch von Anführungszeichen zusätzlich zu einzelnen Standardnotierungen:

ZEIGEN SIE "Hallo, Welt".

</syntaxhighlight>

Hallo, OS/360 um 1972

Auf IBM System/360, der OS/360 MVT 21.8f, um 1972 läuft (der die Tradition des Verwendens Hallo, der Welt für einleitende Beispiele zurückdatiert), Hallo, würde Welt auf 80 Säulenkarten geschlagen worden sein, Quellcode enthaltend, der ähnlich ist:

//COBUCLG JOB CLASS=A, MSGCLASS=A, MSGLEVEL = (1,1)

//HELOWRLD EXEC COBUCLG, PARM.COB ='MAP, LISTE, LASSEN'

//COB.SYSIN DD *

001 ERKENNUNGSTEIL.

002 PROGRAMM-PERSONALAUSWEIS. 'HALLO'.

003 UMGEBUNGSABTEILUNG.

004 KONFIGURATIONSABTEILUNG.

005 QUELLCOMPUTER. IBM 360.

006 GEGENSTAND-COMPUTER. IBM 360.

0065 SPEZIELLE NAMEN.

0066 KONSOLE IST CNSL.

007 DATENABTEILUNG.

008 ARBEITSLAGERUNGSABTEILUNG.

009 77 HALLO-CONST FOTO X (12) WERT 'HALLO, WELT'.

075 VERFAHREN-ABTEILUNG.

090 000-ANZEIGEN-.

100 ANZEIGE HALLO-CONST AUF CNSL.

110 HALT LÄUFT.

//LKED.SYSLIB DD DSNAME=SYS1. COBLIB, DISP=SHR

//DD DSNAME=SYS1. LINKLIB, DISP=SHR

//GO.SYSPRINT DD SYSOUT=A

/ /

</syntaxhighlight>

//sind Linien JCL-Schritte, das Umgeben der COBOL-Folge hat Quellcode numeriert, das Verwerten des ANS COBOL, Kompiliert Verbindung und Geht Modul COBUCLG. HALLO würde WELT-Produktion auf der Konsole des Maschinenbedieners gezeigt worden sein, und der Systemdrucker würde über den Lauf ausführlich berichten. Viele Details, mit der zusammenfassenden Produktion dieses Laufs ungefähr 12 Linien vom Boden der Auflistung.

//COBUCLG JOB CLASS=A, MSGCLASS=A, MSGLEVEL = (1,1)//HELOWRLD EXEC COBUCLG, PARM.COB ='MAP, LISTE, LASSEN'

XXCOB EXEC PGM=IKFCBL00, REGION=86K, PARM ='LOAD, SUPMAP' 05000018

XXSYSPRINT DD SYSOUT=A 10000018

XXSYSUT1 DD UNIT=SYSDA, RAUM = (460, (700,100)) 15000018

XXSYSUT2 DD UNIT=SYSDA, RAUM = (460, (700,100)) 20000018

XXSYSUT3 DD UNIT=SYSDA, RAUM = (460, (700,100)) 25000018

XXSYSUT4 DD UNIT=SYSDA, RAUM = (460, (700,100)) 30000018

XXSYSLIN DD DSNAME=&LOADSET,DISP= (MOD, PASS), UNIT=SYSDA, 35000018

XX RAUM = (80, (500,100)) 40000018

//COB.SYSIN DD *

IEF236I ALLOC. FÜR DEN COBUCLG MAISKOLBEN HELOWRLD

IEF237I 352 ZUGETEILTE ZU SYSPRINT

IEF237I 151 ZUGETEILTE ZU SYSUT1

IEF237I 352 ZUGETEILTE ZU SYSUT2

IEF237I 150 ZUGETEILTE ZU SYSUT3

IEF237I 352 ZUGETEILTE ZU SYSUT4

IEF237I 151 ZUGETEILTE ZU SYSLIN

IEF237I 150 ZUGETEILTE ZU SYSIN

CB545 V2 LVL78 01MAY72 IBM OS AMERIKANER NATIONALER STANDARD-COBOL-DATUM-FEBR 25,1984

1

00001 001 ERKENNUNGSTEIL.

00002 002 PROGRAMM-PERSONALAUSWEIS. 'HALLO'.

00003 003 UMGEBUNGSABTEILUNG.

00004 004 KONFIGURATIONSABTEILUNG.

00005 005 QUELLCOMPUTER. IBM 360.

00006 006 GEGENSTAND-COMPUTER. IBM 360.

00007 0065 SPEZIELLE NAMEN.

00008 IST 0066 KONSOLE CNSL.

00009 007 DATENABTEILUNG.

00010 008 ARBEITSLAGERUNGSABTEILUNG.

00011 009 77 HALLO-CONST FOTO X (12) WERT 'HALLO, WELT'.

00012 075 VERFAHREN-ABTEILUNG.

00013 090 000-ANZEIGEN-.

00014 100 ANZEIGE HALLO-CONST AUF CNSL.

00015 110 HALT LÄUFT.

2

  • STATISTICS* SOURCE RECORDS = 15 DATENABTEILUNGSBEHAUPTUNGEN = 1 VERFAHREN-ABTEILUNGSBEHAUPTUNGEN = 2
  • OPTIONS IN EFFECT* SIZE = 81920 BUF = 2768 LINECNT = 57 SPACE1, FLAGW, SEQ, QUELLE
  • OPTIONS IN EFFECT* NODMAP, NOPMAP, NOCLIST, NOSUPMAP, NOXREF, LAST, NODECK, APOST, NOTRUNC, NOLIB, NOVERB
  • OPTIONS IN EFFECT* ZWB

IEC130I SYSPUNCH DD BEHAUPTUNG, DIE FEHLT

IEC130I SYSLIB DD BEHAUPTUNG, DIE FEHLT

IEC130I SYSPUNCH DD BEHAUPTUNG, DIE FEHLT

IEF142I - SCHRITT WURDE - COND CODE 0000 DURCHGEFÜHRT

IEF285I SYS84056. T093538. SV000. COBUCLG.R0000001 SYSOUT

IEF285I VOL SER NO = WORK02.

IEF285I SYS84056. T093538. RV000. COBUCLG.R0000002 HAT GELÖSCHT

IEF285I VOL SER NO = WORK01.

IEF285I SYS84056. T093538. RV000. COBUCLG.R0000003 HAT GELÖSCHT

IEF285I VOL SER NO = WORK02.

IEF285I SYS84056. T093538. RV000. COBUCLG.R0000004 HAT GELÖSCHT

IEF285I VOL SER NO = SYSRES.

IEF285I SYS84056. T093538. RV000. COBUCLG.R0000005 HAT GELÖSCHT

IEF285I VOL SER NO = WORK02.

IEF285I SYS84056. T093538. RV000. COBUCLG.LOADSET HAT PASSIERT

IEF285I VOL SER NO = WORK01.

IEF285I SYS84056. T093538. RV000. COBUCLG.S0000006 SYSIN

IEF285I VOL SER NO = SYSRES.

IEF285I SYS84056. T093538. RV000. COBUCLG.S0000006 HAT GELÖSCHT

IEF285I VOL SER NO = SYSRES.

IEF373I SCHRITT / MAISKOLBEN / FÄNGT 84056.0937 AN

IEF374I SCHRITT / MAISKOLBEN / HÖRT 84056.0937 ZENTRALEINHEIT 0MIN 00.08SEC HAUPT-84K LCS 0K AUF

XXLKED EXEC PGM=IEWL, PARM ='LIST, XREF, LASSEN', COND = (5, LEUTNANT, MAISKOLBEN), REGION=96K 45000018

XXSYSLIN DD DSNAME=&LOADSET,DISP= (ALT, LÖSCHEN SIE) 50000018

XX DD DDNAME=SYSIN 55000018

XXSYSLMOD DD DSNAME=&GODATA (GEFÜHRT), DISP = (NEU, PASS), UNIT=SYSDA, 60000018

XX RAUM = (1024, (50,20,1)) 65000018

//LKED.SYSLIB DD DSNAME=SYS1. COBLIB, DISP=SHR

X/SYSLIB DD DSNAME=SYS1. COBLIB, DISP=SHR 70000018

//DD DSNAME=SYS1. LINKLIB, DISP=SHR

XXSYSUT1 DD EINHEIT = (SYSDA, SEP = (SYSLIN, SYSLMOD)), RAUM = (1024, (50,20)) 75000018

XXSYSPRINT DD SYSOUT=A 80000018

IEF236I ALLOC. FÜR COBUCLG LKED HELOWRLD

IEF237I 151 ZUGETEILTE ZU SYSLIN

IEF237I 151 ZUGETEILTE ZU SYSLMOD

IEF237I 350 ZUGETEILTE ZU SYSLIB

IEF237I 350 ZUGETEILTE ZU

IEF237I 150 ZUGETEILTE ZU SYSUT1

IEF237I 151 ZUGETEILTE ZU SYSPRINT

F128-NIVEAU-VERBINDUNGSREDAKTEUR OPTIONEN ANGEGEBENE LISTE, XREF, HAT GELASSEN

VERZUG-AUSWAHL (S) VERWENDET - GRÖßE = (131072,18432)

QUERVERWEIS-TISCH

KONTROLLABTEILUNGSZUGANG

NAMENURSPRUNG-LÄNGE-NAMENPOSITIONSNAMENPOSITIONSNAMENPOSITIONSNAMENPOSITION

HALLO 00 308

ILBODSP0* 308 700

ILBOSTP0* A08 35

ILBOSTP1 A1E

POSITION BEZIEHT SICH AUF DAS SYMBOL IN DER KONTROLLABTEILUNGSPOSITION BEZIEHT SICH AUF DAS SYMBOL IN DER KONTROLLABTEILUNG

260 ILBOSTP0 ILBOSTP0 264 ILBODSP0 ILBODSP0

268 ILBOSTP1 ILBOSTP0

ZUGANG-ADRESSE 00

GESAMTLÄNGE A40

  • GEFÜHRT BESTEHT NICHT, ABER IST ZUR DATEI HINZUGEFÜGT WORDEN
IEF142I - SCHRITT WURDE - COND CODE 0000 DURCHGEFÜHRT

IEF285I SYS84056. T093538. RV000. COBUCLG.LOADSET HAT GELÖSCHT

IEF285I VOL SER NO = WORK01.

IEF285I SYS84056. T093538. RV000. COBUCLG.GODATA HAT PASSIERT

IEF285I VOL SER NO = WORK01.

IEF285I SYS1. COBLIB HAT BEHALTEN

IEF285I VOL SER NO = MVTRES.

IEF285I SYS1. LINKLIB HAT BEHALTEN

IEF285I VOL SER NO = MVTRES.

IEF285I SYS84056. T093538. RV000. COBUCLG.R0000007 HAT GELÖSCHT

IEF285I VOL SER NO = SYSRES.

IEF285I SYS84056. T093538. SV000. COBUCLG.R0000008 SYSOUT

IEF285I VOL SER NO = WORK01.

IEF373I SCHRITT/LKED / FÄNGT 84056.0937 AN

IEF374I SCHRITT/LKED / HÖRT 84056.0937 ZENTRALEINHEIT 0MIN 00.04SEC HAUPT-96K LCS 0K AUF

XXGO EXEC PGM =*.LKED.SYSLMOD, COND = ((5, LEUTNANT, MAISKOLBEN), (5, LEUTNANT, LKED)) 85000018

//GO.SYSPRINT DD SYSOUT=A/ /

IEF236I ALLOC. WEIL COBUCLG HELOWRLD GEHEN

IEF237I 151 ZUGETEILTE ZU PGM =*.DD

IEF237I 352 ZUGETEILTE ZU SYSPRINT

HALLO, WELT

IEF142I - SCHRITT WURDE - COND CODE 0000 DURCHGEFÜHRTIEF285I SYS84056. T093538. RV000. COBUCLG.GODATA HAT PASSIERTIEF285I VOL SER NO = WORK01.

IEF285I SYS84056. T093538. SV000. COBUCLG.R0000009 HAT GELÖSCHT

IEF285I VOL SER NO = WORK02.

IEF373I SCHRITT / GEHT / FANGEN 84056.0937 AN

IEF374I SCHRITT / GEHT / HÖREN 84056.0937 ZENTRALEINHEIT 0MIN 00.01SEC HAUPT-8K LCS 0K AUF

IEF285I SYS84056. T093538. RV000. COBUCLG.GODATA HAT GELÖSCHT

IEF285I VOL SER NO = WORK01.

IEF375I JOB/COBUCLG / FÄNGT 84056.0937 AN

IEF376I JOB/COBUCLG / HÖRT 84056.0937 ZENTRALEINHEIT 0MIN 00.13SEC AUF

</syntaxhighlight>

Kritik und Verteidigung

Fehlen Sie von structurability

In seinem Brief an einen 1975 betitelten Redakteur "Wie erzählen wir Wahrheiten, die könnten schmerzen?" der gegenüber mehreren mit dem COBOL gleichzeitigen Programmiersprachen kritisch war, haben Computerwissenschaftler und Turing-Preis-Empfänger Edsger Dijkstra bemerkt, dass "Der Gebrauch des COBOL die Meinung verkrüppelt; sein Unterrichten sollte deshalb als ein kriminelles Vergehen betrachtet werden."

In seiner abweichenden Antwort auf den Artikel von Dijkstra und die obengenannte "beleidigende Erklärung," hat Computerwissenschaftler Howard E. Tompkins strukturiertes COBOL verteidigt: "COBOL-Programme mit dem spiraligen Kontrollfluss neigen tatsächlich dazu, die Meinung 'zu verkrüppeln, ',", aber das war, weil "Es zu vielen solche Programme der kommerziellen Anwendung gibt, die von Programmierern geschrieben sind, die den Vorteil des strukturierten COBOL unterrichtet gut..." nie gehabt haben

Zusätzlich hat die Einführung des OO-COBOL Unterstützung für den objektorientierten Code sowie die benutzerbestimmten Funktionen und die benutzerbestimmten Datentypen zum Repertoire des COBOL hinzugefügt.

Vereinbarkeitsprobleme nach der Standardisierung

COBOL 85 war mit früheren Versionen nicht völlig vereinbar, auf die "Kaiserschnitt-Geburt" des COBOL 85 hinauslaufend. Joseph T. Brophy, CIO, Reisender-Versicherung, ist eine Anstrengung angeführt, Benutzer des COBOL der schweren Wiederprogrammierkosten zu informieren, den neuen Standard durchzuführen. Infolgedessen hat das ANSI COBOL-Komitee mehr als 3,200 Briefe vom öffentlichen, größtenteils negativen erhalten, das Komitee verlangend, Änderungen vorzunehmen. Andererseits, wie man dachte, hat die Konvertierung zum COBOL 85 Produktivität in zukünftigen Jahren vergrößert, so die Verarbeitungskosten rechtfertigend.

Wortreiche Syntax

COBOL-Syntax ist häufig für seine Weitschweifigkeit kritisiert worden. Jedoch bemerken Befürworter, dass das im Sprachdesign absichtlich war, und viele es als eine der Kräfte des COBOL betrachten. Eine der Designabsichten des COBOL war, dass Nichtprogrammierer — Betriebsleiter, Oberaufseher und Benutzer — lesen und den Code verstehen konnten. Das ist, warum COBOL eine einem Englisch ähnliche Syntax und Strukturelemente hat — einschließlich: Substantive, Verben, Klauseln, Sätze, Abteilungen und Abteilungen. Folglich, wie man betrachtet, ist das COBOL von mindestens einer Quelle "Die lesbarste, verständliche und sprechende Programmiersprache im Gebrauch heute. [...] Nicht nur tut diese Lesbarkeit allgemein helfen dem Wartungsprozess, aber dem älteren ein Programm bekommt das wertvollere, das diese Lesbarkeit wird." Andererseits gewährt die bloße Fähigkeit, einige Linien des COBOL-Codes zu lesen und zu verstehen, einem ausübenden oder Endbenutzer nicht die Erfahrung und Kenntnisse mussten entwerfen, bauen, und große Softwaresysteme aufrechterhalten.

Andere Verteidigung

Zusätzlich ist traditionelles COBOL eine einfache Sprache mit einem beschränkten Spielraum der Funktion (ohne Zeigestöcke, keine benutzerbestimmten Typen und keine benutzerbestimmten Funktionen), einen aufrichtigen Codierstil fördernd. Das hat es gut passend zu seinem primären Gebiet der Geschäftscomputerwissenschaft gemacht — wo die Programm-Kompliziertheit in den Geschäftsregeln liegt, die aber nicht hoch entwickelte Algorithmen oder Datenstrukturen verschlüsselt werden müssen. Und weil der Standard keinem besonderen Verkäufer gehört, sind im COBOL geschriebene Programme hoch tragbar. Die Sprache kann auf einem großen Angebot an Hardware-Plattformen und Betriebssystemen verwendet werden. Und die starre hierarchische Struktur schränkt die Definition von externen Verweisen zur Umgebungsabteilung ein, die Plattform-Änderungen vereinfacht.

Siehe auch

  • Programmiersprache-Genealogien
  • Alphabetische Liste von Programmiersprachen
  • Vergleich von Programmiersprachen
  • OpenCOBOL
  • CODASYL

Quellen

  • Ebbinkhuijsen, Wim B.C. COBOL Bastelraum von Alphen aan Rijn/Diegem: Samson Bedrijfsinformatie Bv, 1990. Internationale Standardbuchnummer 90-14-04560-3. (Holländischer)

Links

Standards:

Bedienungshandbücher:

Bearbeiter und andere Produkte:

  • Bearbeiter von IBM COBOL
  • Elastisches COBOL Wolkenbasiertes Elastisches COBOL von der Erbstück-Computerwissenschaft erlaubt Anwendungsentwicklungs- und Wartungsfachwerk sowie Aufstellung von Anwendungen auf eine Unternehmensvermächtnis-Plattform als ein Dienst.
  • Fujitsu Fujitsu NetCOBOL, COBOL-Entwicklung, Aufstellung und Modernisierung.
  • Mikrofokus Mikrofokus Seh-COBOL, COBOL-Entwicklung, Aufstellung und Modernisierung.
  • Veryant, erschwingliche COBOL-Wartungs- und Modernisierungsplattform
  • COBOL - ES, der Unternehmensklasse-COBOL-Bearbeiter des Open Sources
  • Cobos, Open Source IDE für das COBOL / Großrechner-Entwicklung
  • Redvers Beratung, COBOL-Werkzeuge des Open Sources
  • OpenCOBOL, ein COBOL-Bearbeiter der offenen Quelle.
  • Häufig gestellte Fragen von OpenCOBOL und Sammlung von Codeproben.
  • TinyCOBOL, ein COBOL-Bearbeiter der offenen Quelle hat auf dem COBOL 85 Standards gestützt
  • SoftwareMining, COBOL-Regel-Förderungswerkzeug.
  • Der Compilerator, Online-COBOL-Bearbeiter für kleine Experimente

Ausstellungen:

  • COBOL Eine Online-Ausstellung vom Nationalen Museum der amerikanischen Geschichte, der Smithsonian Einrichtung

Ceres Brauerei / Mannschaft
Impressum & Datenschutz