Was ist die helle Seite von Cobol? [geschlossen]

8

Ich verbringe meine Zeit gerne damit, coole Sprachmerkmale zu erforschen, auch wenn ich sie in absehbarer Zeit nicht nutzen kann, aber ich höre immer nur schlechte Dinge über Cobol, aber ich bin sicher, dass es einige nette Features haben muss damit es so wichtig wird wie es ist. Was wären also einige gute Eigenschaften, die man von Cobol lernen könnte?

    
Robert Gould 05.04.2009, 15:40
quelle

16 Antworten

12

Die Fähigkeit, Formeln in weniger präziser Form zu schreiben. Zum Beispiel:

%Vor%

Ist es ein Vorteil oder ein Nachteil? hängt davon ab, wie man es betrachtet ...

    
Konstantin Tarkus 05.04.2009, 15:43
quelle
9

Wahre Festkommavariablen und Mathematik. Also, für 15 Dollar und 75 Cent war Ihre interne Darstellung die Binärziffern 1, 5, 7 und 5. Dies war eine exakte Darstellung gegenüber der Standard-Gleitkomma-Approximation. Auch alle Addition und Subtraktion an dieser Festkomma-Variable war ebenfalls Fixpunkt.

Die Report Writer-Erweiterung war sehr gut beim Generieren von Berichten und Bearbeiten von Kopf- und Fußzeilen, Seitenumbrüchen, Abschnittsumbrüchen und allem, was mit dem Generieren von Berichten zu tun hat.

Die Sort / Merge-Erweiterung war auch sehr, sehr gut. Mit der Vielzahl der zulässigen Konstrukte können Sie einfach sortieren / zusammenführen, oder Sie könnten Sortiereingabesätze verarbeiten, bevor Sie die Sortierung nach der Sortierung sortieren oder sortieren. Geben Sie beispielsweise die Eingabedatensätze direkt zum Sortieren ein, verwenden Sie dann jedoch Report Writer für die sortierten Datensätze, ohne eine zwischengeordnete sortierte Datei in Ihrem Code verwalten zu müssen. Sehr nett.

Was es gut gemacht hat, hat es sehr gut gemacht. Es ist nur so, dass die meiste Zeit, was es gut gemacht hat, nicht genau das ist, was du brauchst.

    
James 05.04.2009 15:55
quelle
7

Langlebigkeit. Die Sprache, die ich 1975 zum ersten Mal gelernt habe, kann heute dazu verwendet werden, Webdienste zu konsumieren.

Außerdem gibt es bei COBOL eine Funktion, nach der die Leute jeden Tag fragen. Wenn zwei Datensätze mit Feldern mit denselben Namen vorliegen, können Sie Folgendes tun:

%Vor%

und es verschiebt die Felder mit dem gleichen Namen von einem zum anderen und führt bei Bedarf Konvertierungen durch. Das Fehlen einer solchen Funktion ist eine der Hürden für Menschen, die Data Transfer Objects für die Rückgabe von Web-Services übernehmen - Sie müssen den Code schreiben, um das Obige per Hand zu schreiben, oder Code-Generierung verwenden.

Ich denke, es könnte auch ein ADD CORRESPONDING gegeben haben, aber ich bin mir nicht sicher. Die Erinnerung beginnt nach einer Weile zu gehen ...

    
John Saunders 05.04.2009 15:58
quelle
5

Das Ausgabeformat ist Teil der Variablendeklaration . Es ist sehr geschäftsorientiert.

  

In COBOL eine Variablendeklaration   besteht aus einer Zeile in den DATA   DIVISION, die Folgendes enthält   Artikel:

%Vor%      

Ein Startwert kann a zugewiesen werden   Variable mittels einer Erweiterung zu   Die PICTURE-Klausel heißt VALUE   Klausel.

     

Einige Beispiele:

%Vor%
    
Thomas L Holaday 05.04.2009 16:05
quelle
5

Unterstützung für gepackte Dezimalstellen für genaue Mathematik;

Integrierte indizierte Dateien / Sortierung;

Ältere Compiler;

Es ist ein bisschen ausführlich, aber es macht den Job erledigt.

    
EvilTeach 05.04.2009 20:42
quelle
4

Die Datenstrukturierungsfunktionen sind etwa so gut wie für Felder fester Länge.

ALTER ist regelrecht verrückt. Vielleicht nicht gut für den Produktionscode, aber Spaß beim Spielen. Im Grunde können Sie ändern, welche Anweisungen zur Laufzeit anderen Anweisungen folgen (GOTOs einfügen).

    
Glomek 05.04.2009 16:24
quelle
4
%Vor%

Angenommen, Sie hatten 2 Klassen in C #, die einige Felder gemeinsam hatten, z. B. Klasse A hat Namen, Alter und Geschlecht plus einige andere Felder ... Klasse B hat dieselben 3 Felder plus einige andere von seine eigene. Die einzige Möglichkeit, die Felder zu kopieren, wäre:

%Vor%

In COBOL schreibst du einfach:

%Vor%     
JoelFan 06.04.2009 04:01
quelle
4

Oh, wie könnte ich es vergessen ...

Anstelle von:

%Vor%

schreiben:

%Vor%

Anstelle von:

%Vor%

schreiben:

%Vor%

Anstelle von:

%Vor%

schreiben:

%Vor%     
JoelFan 06.04.2009 16:05
quelle
3

Es ist sehr einfach zu lernen. Ich habe nur zwei COBOL-Programme in meinem Leben geschrieben (um COBOL-ISAM-Dateien in ein anderes Format zu entpacken) und ich lernte alles, was ich wissen musste, um es mit Hilfe eines Buches an einem Nachmittag zu machen.

Oh, und es wird Ihrem Gehirn die korrekte Schreibweise des Wortes "Umwelt" einprägen.

    
anon 05.04.2009 15:45
quelle
3

1). Leicht zu lernen. 2). Die Syntax ist englischer und daher auch für Anfänger einfacher zu verstehen.

    
kishore 06.04.2009 01:08
quelle
3

Es hat auch ein interessantes Feature, wenn man Variablen deklariert ... an der Stelle der Deklaration der Variablen können Sie auch einige mögliche Werte der Variablen deklarieren und sie mit booleans beschriften. Sie können

verwenden %Vor%

statt

%Vor%

Das ist besonders schön, wenn die Werte nicht besonders aussagekräftig sind (d. h. magische Zahlen oder sogar magische Strings) ... diese magischen Werte erscheinen nur in der Deklaration der Variablen und sind gut mit dem, was sie bedeuten, bezeichnet.

Sie können die Variable sogar auf einen dieser Werte setzen mit:

%Vor%     
JoelFan 06.04.2009 04:02
quelle
2

Die Leute bei Sun (jetzt Oracle) werden wahrscheinlich sauer auf mich sein, aber FORTRAN und COBOL waren die ersten Versuche, einmal zu schreiben und überall Sprachen zu benutzen. IBM hat der COBOL-Sprache Erweiterungen hinzugefügt, die den Versuch für COBOL praktisch zunichte gemacht haben.

Vor COBOL und FORTRAN waren die Computersprachen maschinenspezifisch. Computer waren so teuer, dass es bei jedem Upgrade des Computers billiger war, den Code neu zu schreiben. IBM erkannte in den späten 1950er Jahren, dass die Schaffung und Aufrechterhaltung einer konsistenten Computerarchitektur Kunden Geld sparen (und den Markt für Computersysteme erhöhen würde). Aus diesem Grund hat IBM die 360-Serie von Computern entwickelt.

Auf die gleiche Weise wurde den Kunden klar, dass das Umschreiben von Software für jede neue Maschine zu teuer wurde. IBM entwickelte die Anfänge von FORTRAN, während Grace Hopper und die Bundesregierung die Entwicklung von COBOL vorantrieben. Das erklärt, warum IBM all diese proprietären Erweiterungen zu COBOL hinzugefügt hat. Die Beteiligung der Bundesregierung erklärt auch, warum COBOL eine solche ausführliche Sprache ist.

    
Gilbert Le Blanc 16.05.2010 11:37
quelle
1

COBOL eignet sich hervorragend zum Formatieren von Ausgaben. Ein Ausgabefeld, das wie folgt aussieht:

TOTAL-PAY PIC $$$, $$$ 99

würde das $ direkt neben dem Wert ausgeben. Es würde bis zu $ ​​99,999,99 drucken. Wenn der Wert nur $ 150 war, würde es $ 150.00 drucken. Außerdem gibt es normalerweise eine COBOL-Funktion, die diesen Betrag in Wörter umwandelt - "Hundertfünfzig Dollar und keine Cent"

    
Cathy Sullivan 07.04.2009 21:41
quelle
1

Sie können Datensätze auch neu definieren, um die Verarbeitung von Textdateien mit mehreren Datensatztypen zu ermöglichen.

%Vor%     
tonyriddle 30.04.2009 18:56
quelle
0

Ein weiterer Vorteil ... Wenn Sie auf einem Mainframe programmieren, können Sie ziemlich sicher sein, dass COBOL verfügbar sein wird ... nicht für andere Sprachen. Es ist ein bisschen wie das C des Mainframes.

    
JoelFan 06.04.2009 04:06
quelle

Tags und Links