Suche…


Bemerkungen

COBOL ist die CO mmon B usiness O Programmierung L anguage riented.

Obwohl es sich zu einem aussprechbaren Namen entwickelt hat, wird COBOL vom Standardisierungskomitee immer noch als Akronym behandelt, und COBOL wird von den ISO- und INCITS-Normungsgremien bevorzugt.

Standard-Spezifikation

Die aktuelle Spezifikation ist

ISO / IEC 1989: 2014 Informationstechnik - Programmiersprachen, ihre Umgebungen und System-Software-Schnittstellen - Programmiersprache COBOL

Dieses Dokument wurde im Mai 2014 veröffentlicht und kann von verschiedenen Zweigniederlassungen von Normungsgremien erworben werden, die offiziell unter der Adresse "Homed" bei "" sind

http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=51416

Hauptanwendungsbereich

Geschäftsorientiert. Das bedeutet normalerweise Transaktionsverarbeitung. Banken, Regierungsbehörden und die Versicherungsbranche sind wichtige Bereiche der Bereitstellung von COBOL-Anwendungen. Auf IBM-Mainframe-Systemen ist normalerweise ein COBOL-Compiler installiert. Es gibt mehr als 300 COBOL-Dialekte, wobei etwa zehn Versionen den Löwenanteil der Bereitstellungen ausmachen. Die meisten dieser Compiler sind proprietäre Systeme, es steht jedoch auch freie Software COBOL zur Verfügung.

Kategorie

COBOL ist eine prozedurale, zwingende, kompilierte Programmiersprache. Ab der COBOL 2002-Spezifikation wurden objektorientierte Funktionen zum Standard hinzugefügt.

COBOL ist eine sehr ausführliche Programmiersprache. Obwohl algebraische Form erlaubt ist:

COMPUTE I = R * B

Die ursprüngliche Absicht bestand darin, vollständige Wörter für Berechnungsbeschreibungen und Datenmanipulationen zu verwenden:

MULTIPLY INTEREST-RATE BY BALANCE GIVING CURRENT-INTEREST ROUNDED MODE IS NEAREST-EVEN

Diese Designentscheidung hat sowohl Verfechter als auch Kritiker. Einige halten es für zu ausführlich, während andere argumentieren, dass die Syntax eine bessere Lesbarkeit in einer geschäftlichen Umgebung zulässt.

Dezimalmath

Im Gegensatz zu den meisten Sprachen, die eine binäre interne Darstellung verwenden, basiert COBOL auf Dezimalarithmetik. Die COBOL-Spezifikation erfordert sehr genaue Festkomma-Dezimalberechnungen, ein Aspekt der Sprache, der in Finanzsektoren sehr geschätzt wird. COBOL erlaubt auch USAGE BINARY, neigt jedoch zu Dezimaldarstellungen (Basis-10).

Geschichte

COBOL stammt aus den späten 1950er Jahren, erste Implementierungen wurden 1960 veröffentlicht.

US-amerikanischer Marine-Konteradmiral Grace Hopper wird häufig mit COBOL in Verbindung gebracht und im Frühstadium der Entwicklung für die Sprache eingesetzt. Sie war nicht die einzige Person, die auf jeden Fall an der Gestaltung und Entwicklung von COBOL beteiligt war, sondern wird oft als Mutter von COBOL bezeichnet.

Aufgrund der frühzeitigen Unterstützung von Regierungen und großen Unternehmen ist COBOL seit vielen Jahrzehnten im Einsatz. Für manche bleibt es ein Stolz, für andere ein Dorn im Auge, die es für veraltet halten. Die Wahrheit liegt wahrscheinlich irgendwo zwischen diesen extremen Ansichten. Wenn es auf die Transaktionsverarbeitung angewendet wird, ist COBOL zu Hause. Bei der Anwendung auf moderne Web-Screens und Netzwerkanwendungen fühlt es sich möglicherweise nicht so angenehm an.

Struktur

COBOL-Programme sind in vier verschiedenen Abteilungen geschrieben.

  • IDENTIFIZIERUNGSABTEILUNG
  • UMWELTABTEILUNG
  • DATENABTEILUNG
  • VERFAHRENSABTEILUNG

Datenbeschreibungen

COBOL ist für die Verarbeitung von Dezimaldaten konzipiert und ermöglicht PICTURE-basierte Datenbeschreibungen in gruppierten Hierarchien.

01 record-group.
   05 balance        pic s9(8)v99.
   05 rate           pic 999v999.
   05 show-balance   pic $Z(7)9.99.

Dies definiert den balance als vorzeichenbehafteten achtstelligen Wert mit zwei Nachkommastellen. rate ist drei Stellen vor und drei Stellen nach einem angenommenen Dezimalpunkt. show-balance ist ein numerisches Editierfeld, das ein führendes Dollarzeichen mit sieben Ziffern (unterdrückte Null) enthält, wobei mindestens eine Ziffer zwei Ziffern nach einem Dezimalpunkt vorangestellt ist.

balance kann in Berechnungen verwendet werden, show-balance dient nur zu Anzeigezwecken und kann nicht in Berechnungsanweisungen verwendet werden.

Verfahrensanweisungen

COBOL ist eine reservierte, schwergewichtige Sprache. MOVE-, COMPUTE-, MULTIPLY-, PERFORM-Stil-Langformwörter machen den Großteil der Standardspezifikation aus. Über 300 Schlüsselwörter und 47 Betriebsaussagen in der COBOL 2014-Spezifikation. Viele Compilerimplementierungen fügen der Liste der reservierten Wörter noch mehr hinzu.

Hallo Welt

HELLO * HISTORIC EXAMPLE OF HELLO WORLD IN COBOL
       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELLO.
       PROCEDURE DIVISION.
           DISPLAY "HELLO, WORLD".
           STOP RUN.

Die Tage des Lochkartenlayouts und die Eingaben nur in Großbuchstaben liegen weit zurück. Die meisten COBOL-Implementierungen verarbeiten jedoch immer noch dasselbe Code-Layout. Sogar aktuelle Implementierungen folgen dem gleichen (oft sogar in Großbuchstaben), kompiliert und in der Produktion.

Eine gut formatierte moderne Implementierung könnte folgendermaßen aussehen:

*> Hello, world
identification division.
program-id. hello.

procedure division.
display "Hello, world"
goback.
end program hello.

Bei einigen Implementierungen von COBOL kann dies folgendermaßen verkürzt werden:

display "Hello, world".

Dieses Format erfordert normalerweise eine Umschaltung der Kompilierung, um einen COBOL-Compiler in einen entspannten Syntaxmodus zu versetzen, da einige der normalerweise obligatorischen DIVISION Anweisungen fehlen.

COBOL geht standardmäßig von FIXED-Formatquellen aus, auch in der aktuellen Spezifikation.

COBOL vor 2002

Säule Bereich
1-6 Sequenznummernbereich
7 Indikatorbereich
8-12 Bereich A
12-72 Bereich B
73-80 Programmnamensbereich

IBM Mainframe-Texteditoren sind in einigen Fällen noch für dieses Formular konfiguriert.

Nach 2002 und in COBOL 2014 wurden die Bereiche A und B zusammengeführt und auf Spalte 255 erweitert, und der Programmnamensbereich wurde gestrichen.

Säule Bereich
1-6 Sequenznummernbereich
7 Indikatorbereich
8- Programmtext Bereich

Spalte 8 durch eine durch die Implementierung definierte Spalte Margin R ist normalerweise immer noch auf Spalte 72 beschränkt, darf aber von spec bis Spalte 255 laufen.

Mit COBOL 2002 wurde der Quelltext von FORMAT FREE eingeführt. Es gibt keinen Sequenznummernbereich , keinen Indikatorbereich und Quellzeilen können beliebig lang sein (bis zu einer durch Implementierung definierten Margin R- Grenze, normalerweise weniger als 2048 Zeichen pro Zeile, üblicherweise 255).

Der Compiler wird jedoch standardmäßig im Modus FORMAT FIXED gestartet. In der Regel gibt es einen Compiler- Switch oder eine Compiler Directive-Facility- Anweisung, bevor die Quelle des freien Formats erkannt wird.

bbbbbb >>SOURCE FORMAT IS FREE

Dabei steht bbbbbb für 6 Leerzeichen oder andere Zeichen. (Diese werden als Teil des Sequenznummernbereichs für den anfänglichen Standardmodus mit festem Format ignoriert.)

Installieren Sie gnu-cobol unter Mac OS X

Gnu-Cobol ist über das Homebrew-System verfügbar.

Öffnen Sie ein Terminalfenster über /Applications/Utilities/Terminal oder verwenden Sie die Tastenkombination Command+Space und geben Sie "Terminal" .

Wenn Sie das Homebrew-System nicht installiert haben, fügen Sie es durch Tippen oder Kopieren und Einfügen in Ihr Terminal hinzu:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Wenn der Befehl abgeschlossen ist, geben Sie Folgendes ein:

brew install gnu-cobol

Das ist es, Sie können jetzt Cobol-Programme auf Ihrem Mac kompilieren.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow