fit 2002 » Programmiersprachen und Konzepte » Algol und Cobol

ALGOL (Algorithmic Language)

 

Entstehungskontext:

 

Die Entwicklung der Programmiersprache ALGOL begann in den Jahren 1956 – 1957 als langsam die herkömmlichen Programmiertechniken, die hauptsächlich durch die Entwicklung von Assembler-Programmen geprägt waren, durch neuere Methoden abgelöst wurden.

 

In dieser Zeit entstanden die ersten so genannten „algebraic languages“, Programmiersprachen, die es erstmalig erlaubten, nicht mehr nur maschinennahen Code zu schreiben, sondern eine gewisse Abstraktion der Programme ermöglichten. Einige wichtige Vertreter dieser Sprachen waren beispielsweise IT (1956), MATH-MATIC (1957) und natürlich FORTRAN (1957). Viele Programmierer zu dieser Zeit glaubten noch daran, dass nur Assemblercode effizient dazu verwendet werden kann, Algorithmen zu implementieren. Trotzdem gelangten diese neuen Sprachen schnell zu einiger Verbreitung. Viele Firmen hatten schon früh die Möglichkeiten erkannt, die diese neuen Sprachen boten und so stieg beispielsweise die Akzeptanz von FORTRAN vor allem durch das Engagement von IBM in den folgenden Jahren stark an.

 

Trotz der vielen Möglichkeiten, die diese Sprachen boten, gab es zu dieser Zeit keine einzelne Programmiersprache, die allen Ansprüchen gerecht wurde. Aus diesem Grund begannen viele Entwickler, neue algebraische Sprachen zu spezifizieren und zu implementieren oder bestehende Sprachen den eigenen Bedürfnissen anzupassen. Diese Entwicklungen führten aber nur dazu, dass eine unüberschaubare Anzahl an ähnlichen Sprachen entstand, von denen keine einzige für die damaligen Bedürfnisse „perfekt“ geeignet war. Das war der Anlass für die Association for Computing Machinery (ACM), sich ein ehrgeiziges Ziel zu setzen. Man wollte durch eine Studie herausfinden, wie eine solche, für alle Anwendungen gleichermaßen geeignete, Sprache aussehen könnte und gleichzeitig eine Spezifikation für diese Sprache  entwerfen.

 

Zur gleichen Zeit wurden aber auch in Europa ähnliche Überlegungen angestellt. Schon seit 1955 wurde von der Gesellschaft für angewandte Mathematik und Mechanik (GAMM) mit fast den gleichen Zielen an einer Sprache geforscht, die aber ursprünglich an FORTRAN angelehnt sein sollte. Als die GAMM von den Plänen der ACM hörte, trat sie an die ACM heran und man beschloss, seine Bemühungen zusammenzulegen. Als Ziel wurde festgelegt, eine universell nutzbare algebraische Sprache zu entwickeln, die maschinenunabhängig funktionieren sollte. Diese Maschinenunabhängigkeit war auch der Grund, weshalb FORTRAN für eine Weiterentwicklung nicht in Frage kam. FORTRAN wurde von IBM durchwegs auf die Bedürfnisse der hauseigenen Hardware abgestimmt und daher konnte der Grundsatz der Maschinenunabhängigkeit von FORTRAN nicht erfüllt werden. Der einzige Weg war daher die gemeinsame Entwicklung einer komplett neuen Sprache.

 

 

In Zürich kam es dann 1958 zu einem Meeting zwischen GAMM und ACM, der Geburtsstunde von ALGOL 58. Während diesem Meeting in der Schweiz wurde ein Paper erstellt, das die Spezifikation einer sehr hübschen Sprache enthielt. Es wurde in dem Meeting zwar nur auf die wichtigsten Sprachkonstrukte eingegangen, doch das Ergebnis fand in Europa trotzdem großen Anklang. ALGOL 58 wurde zum Standard für die Annotation von Algorithmen in wissenschaftlichen Publikationen.

 

Dennoch wurde die Implementierung von ALGOL 58 – Compilern nie wirklich vorangetrieben. Die USA waren an solchen Entwicklungen nicht sonderlich interessiert, da sich FORTRAN bereits durchgesetzt hatte. Jede neue Entwicklung wurde nur als Konkurrenz zu FORTRAN gesehen und daher nicht sehr begrüßt. Auch die Spezifikation lies einige Lücken offen, da auf konkrete Implementierungen in dem Meeting nicht eingegangen wurde. So fehlten zum Beispiel Spezifikationen für die Ein- und Ausgabe. Daher blieb ALGOL 58 im Großen und Ganzen nur eine Richtlinie für die weitere Entwicklung neuer Programmiersprachen.

 

Ganz anders erging es der Weiterentwicklung ALGOL 60. Nur ein Jahr nach der Spezifikation von ALGOL 58 fand in Paris eine weitere gemeinsame Konferenz von ACM und GAMM statt. In diesem Jahr wurden viele Fehler in der Spezifikation von ALGOL 58 entdeckt und man erkannte, welche Eigenschaften der Sprache noch fehlten. Man begann die Konferenz also mit dem Ziel, die bestehenden Lücken in der Spezifikation zu schließen und entdeckte Mängel der Sprache ALGOL 58 zu beheben.

 

Das Ergebnis der Konferenz, ALGOL 60, war ein voller Erfolg. „This language proved to be an object of stunning beauty“ wurde von der neuen Sprache geschwärmt. Und so wurde auch sofort mit der Implementierung von Compilern begonnen, die Sprache setzte sich durch.

 

Später gab es dann noch weiter ALGOL- Sprachversionen (Revised ALGOL 60 (1962), ALGOL 68 (1968)), doch diese waren von nicht so großer Bedeutung.

 

Konzepte und Techniken:

 

ALGOL 58 war konsequent darauf ausgerichtet, arithmetische Ausdrücke zu verarbeiten. Aus diesem Grund war die Organisation von Logik, Arithmetik und Daten in ALGOL 58 der Organisation von realen Computern ähnlich, wodurch Programme effizient in Maschinencode übersetzt werden konnten. Natürlich brachte das auch Einschränkungen zum Beispiel bezüglich der verwendeten Datentypen, dennoch führte schon ALGOL 58 einige Neuerungen ein, von denen einige bisher in keiner Programmiersprache benutzt wurden:

 

  • for statement
  • switch statement
  • begin / end – Blöcke
  • call by name / call by value
  • ...

 

Technische Neuerungen, von denen sich viele noch in „modernen“ Programmiersprachen wiederfinden, wurden aber vor allem in die Spezifikation von ALGOL 60 aufgenommen:

 

  • true und false korresponideren mit 1 und 0. Arithmetische Operationen mit boolschen Variablen sind in ALGOL 60 erlaubt.

 

  • Leerstatements wurden zugelassen

 

 

  • if / then wurde zu if / then / else erweitert

 

  • Seiteneffekte wurden eingeführt
    Bsp)  Multiple Assignment: a[i] := i := e

 

 

  • Rekursion wurde explizit als Programmiermethode vorgeschlagen

 

  • Dynamische Arrays

 

 

  • ...

 

Natürlich gab es definitiv auch Design-Mängel in ALGOL 60. So konnten zum Beispiel Prozeduren keine anderen Prozeduren beinhalten oder die Auswertung von Seiteneffekten war nicht genau spezifiziert.

 

Auswirkungen von ALGOL:

 

Auch wenn die Sprache ALGOL selbst nie den Status erreichte, den zum Beispiel FORTRAN oder COBOL besaßen, so gilt dennoch der Einfluss von ALGOL auf später entwickelte Sprachen als immens groß. Viele der Konzepte aus ALGOL wurden in sehr erfolgreichen Programmiersprachen übernommen und natürlich hat sich ALGOL auch bis heute als adäquates Mittel für die Annotation von Algorithmen in wissenschaftlichen Publikationen gehalten.

 

Ein Programm in ALGOL:

 

// the main program (this is a comment)

begin

     integer N;

 

     Read Int(N);  

 

     begin

          real array Data[1:N];

          real sum, avg;

          integer i;

          sum:=0;

 

          for i:=1 step 1 until N do

          begin real val;

              Read Real(val);

              Data[i]:=if val<0 then -val else val

          end;

 

          for i:=1 step 1 until N do

              sum:=sum + Data[i];

 

          avg:=sum/N;

 

          Print Real(avg)

     end;

end

 

 

COBOL (Common Business Oriented Language)

 

Entstehungskontext:

 

Im Gegensatz zu vielen anderen der "frühen" Programmiersprachen entstand die Sprache COBOL nicht ausschließlich im militärischen oder universitären Umfeld, sondern wurde hauptsächlich von kommerziellen Firmen und öffentlichen Organisationen forciert. Der Hauptgrund war der wachsende Bedarf nach einer kaufmännisch orientierten und möglichst leicht zu erlernenden und zu verstehenden Programmiersprache, da sich Computer im kommerziellen Umfeld mehr und mehr durchzusetzen begannen. Man benötigte eine Sprache, die eine möglichst effiziente und von der Maschine unabhängige Entwicklung ermöglichte. Dabei kommt es im kommerziellen Umfeld weniger auf komplizierte Algorithmen, sondern auf die möglichst einfache Verarbeitung von relativ großen Datenmengen an.

 

"We thought, If the scientific programmers are going to get a single language, we could do the same for business!", ist ein Zitat des damaligen IBM-Mitarbeiters Bob Bemer, der in der Folge auch maßgeblich an der Spezifikation der Sprache COBOL beteiligt war. Gemeint ist natürlich die Sprache FORTRAN.

 

Unter dem Vorsitz und mit der Unterstützung des amerikanischen Verteidigungsministeriums wurde eine Arbeitsgruppe eingerichtet, die vorwiegend aus Repräsentanten von Computerherstellern und Anwendern bestand, bekannt als CODASYL (Conference on Data Systems Languages). Ihre Aufgabe war das Ausarbeiten und Erstellen einer formalen Spezifikation einer kaufmännisch orientierten Programmiersprache.

 

Eine sehr erfolgreiche Sprache namens FLOW-MATIC, entwickelt von der Mathematikerin Grace Hopper (US Navy), die in der Folge auch an der Entwicklung von COBOL beteiligt war, enthielt einige wesentliche Innovationen, die maßgeblichen Einfluß auf die Sprache COBOL hatten. Dazu gehören vor allem:

 

 

  • Benutzung von Variablennamen statt kurzen symbolischen Bezeichnern, wie z.B. UNIT-PRICE, CUSTOMER-NAME, usw.

 

  • Benutzung englischsprachiger Wörter wie COMPARE, DIVIDE u.a. für Kommandos

 

 

  • Allokation von weniger als einem Maschinenwort (Speicherplatzersparnis)

 

  • Strikte Unterteilung zwischen Datendeklaration und Instruktionen

 

Alle diese genannten Konzepte gingen in die Entwicklung der Programmiersprache COBOL ein. Jean E. Sammet, ein an der Spezifikation von COBOL beteiligter Entwickler meinte: "Without that existing practical use of FLOW-MATIC I doubt that we would have had the courage to develop a language such as COBOL.".


In nur sechs Monaten (Januar 1960)  wurde die Spezifikation der Sprache abgeschlossen und das Rennen um den ersten COBOL - Compiler begann. Die exzessive Verwendung natürlichsprachlicher Elemente bereitete einige Probleme, durch die breite Unterstützung auf kommerzieller Ebene wurde die Entwicklung jedoch stark vorangetrieben und so waren bereits nach kurzer Zeit zwei konkrete COBOL Implementierungen von RCA und Remington-Rand auf unterschiedlichen Plattformen verfügbar.

 

Die strenge Standardisierung ermöglichte das Ausführen von ein und demselben Programm auf unterschiedlichen Maschinen (RCA501 und UNIVAC II) und wird als einer der Meilensteine in der Entwicklung von COBOL angesehen.

 

Die Spezifikation der Sprache sollte jedoch noch lange nicht abgeschlossen sein. 1961/62 wurde eine Erweiterung der Sprache, bekannt als COBOL61 veröffentlicht. Erst 1968 wurde COBOL vom amerikanischen Standardisierungsinstitut ANSI aufgenommen und weiterentwickelt. 1974 und 1985 folgten wiederum Erweiterungen. Bekannt unter dem Namen OO Cobol wurde die Sprache um objektorientierte Features erweitert und wird bis heute verwendet und weiterentwickelt.

 

 

Konzepte und Techniken

 

Ein wesentlicher Punkt in der Konzeption der Sprache stellt die strikte Trennung in einen Anweisungsteil ("Procedure Division") und einen Datendeklarationsteil ("Data Division"). Erst später stellte sich die Notwendigkeit einer dritten Sektion vor allem für maschinenabhängige Teile heraus, die sogenannte "Environment Division". Jede Division ist dabei in mehrere Sections unterteilt. Beispielsweise ist die Data Divsion in eine FILE SECTION für Dateiformatdefinitionen und eine  WORKING-STORAGE SECTION für Variablendeklarationen geteilt.

 

Innerhalb des Anweisungsteils lag das zentrale Augenmerk in der Natürlichkeit der einzelnen Anweisungen. Jeder "Satz" sollte zumindest mit einem Verb beginnen. In Kombination mit sprechenden Variablennamen erhoffte man sich dadurch einen in englischer Sprache möglichst gut "lesbaren" Programmcode, der sowohl für Programmierer als auch für das Management möglichst verständlich und leicht zu erlernen sein sollte. COBOL lehnte sich dabei stark an die bereits erwähnte Sprache FLOW-MATIC an, wahrscheinlich nicht zuletzt aufgrund der Mitarbeit von Grace Hopper.

 

Für heutige Begriffe zentrale Elemente einer Programmiersprache wie Funktionen, Prozeduren oder Modularisierung wurden in den ursprünglichen Sprachstandard nicht aufgenommen. Der Hauptgrund dafür war die einhellige Meinung, das diese Elemente im kaufmännischen Umfeld kaum Anwendung finden würden. Stattdessen wurde großer Wert auf Ein- und Ausgabefunktionen gelegt.

 

 

Auch innerhalb der Data Division bemühte man sich um die Erhaltung der natürlichsprachlichen Form. In einem Kompromiß einigte man sich auf zwei unterschiedliche Deklarationen von "Datenstrukturen"- die von der Sprache "Commercial Translator" übernommene PICTURE - Klausel und eine Listenartige Deklaraionsform. Die angestrebte Maschinenunabhängigkeit bereitete einige Probleme. Man sah keine Möglichkeit vor, zwischen einer "internen" und "externen" Darstellung der Daten zu unterscheiden. Dies bereitete Probleme bei der Implementierung, beispielsweise durch unterschiedliche Darstellungen von negativen Zahlen und ähnlichem.

 

Diese und ähnliche Probleme führten zur Einführung der bereits erwähnten Environment Division. Die Idee war, ein existierendes COBOL - Programm zu nehmen, einige kleine Änderungen innerhalb der Environment Division vorzunehmen und das Programm anschließend auf jeder neuen Architektur übersetzen zu können.

Das folgende Beispielprogramm ließt eine Eingabedatei und gibt das Ergebnis reformattiert auf einem Drucker aus:

 

000100 ID DIVISION.

000200 PROGRAM-ID.  SLS02.

000300 FILE-CONTROL.

000400     SELECT SALESPERSON-FILE

000500         ASSIGN TO DISK.

000600     SELECT REPORT-FILE

000700         ASSIGN TO PRINTER.

000800 DATA DIVISION.

000900 FILE SECTION.

001000 FD  SALESPERSON-FILE.

001100 01  SALESPERSON-RECORD.

001200     05  FILLER              PIC XX.

001300     05  SP-NUMBER           PIC X(4).

001400     05  SP-NAME             PIC X(18).

001500     05  FILLER              PIC X(21).

001600     05  SP-CURRENT-SALES    PIC 9(5)V99.

001700     05  SP-CURRENT-RETURNS  PIC 9(4)V99.

001800 FD  REPORT-FILE.

001900 01  REPORT-RECORD.

002000     05  FILLER              PIC X(10).

002100     05  RT-NUMBER           PIC X(4).

002200     05  FILLER              PIC X(6).

002300     05  RT-NAME             PIC X(18).

002400     05  FILLER              PIC X(6).

002500     05  RT-CURRENT-SALES    PIC ZZ,ZZZ.99.

002600     05  FILLER              PIC X(6).

002700     05  RT-CURRENT-RETURNS  PIC Z,ZZZ.99.

002800     05  FILLER              PIC X(65).

002900 WORKING-STORAGE SECTION.

003000 01  WS-EOF-FLAG             PIC X.

003100*

003200 PROCEDURE DIVISION.

003300*

003400 MAIN-ROUTINE.

003500     OPEN INPUT SALESPERSON-FILE

003600         OUTPUT REPORT-FILE

003700     MOVE "N" TO WS-EOF-FLAG

003800     READ SALESPERSON-FILE

003900         AT END MOVE "Y" TO WS-EOF-FLAG

004000     END-READ

004100*

004200 PERFORM UNTIL WS-EOF-FLAG IS EQUAL TO "Y"

004300     MOVE SPACES TO REPORT-RECORD

004400     MOVE SP-NUMBER TO RT-NUMBER

004500     MOVE SP-NAME TO RT-NAME

004600     MOVE SP-CURRENT-SALES TO RT-CURRENT-SALES

004700     MOVE SP-CURRENT-RETURNS TO RT-CURRENT-RETURNS

004800     WRITE REPORT-RECORD

004900     READ SALESPERSON-FILE

005000         AT END MOVE "Y" TO WS-EOF-FLAG

005100     END-READ

005200 END-PERFORM

005300*

005400 CLOSE SALESPERSON-FILE, REPORT-FILE

005500 STOP RUN.
Entwicklung und Auswirkungen

 

Nicht zuletzt aufgrund der Unterstützung zahlreicher großer Firmen (unter anderen auch IBM) erlebte COBOL eine rasende Entwicklung und wurde bereits nach kurzer  Zeit zum Standard im kaufmännischen Bereich. Das rasante Wachstum ist wohl auch auf die sehr schnelle und umfangreiche Verbreitung von elektronischen Datenverarbeitungssystemen im Businessbereich zurückzuführen. Aufgrund zahlreicher Erweiterungen (OO Cobol, u.a.)  und der großen Anzahl an existierenden Programmen konnte sich die Programmiersprache bis heute behaupten.

 

Die folgenden Schätzungen stellen die große Verbreitung in eindrucksvoller weise dar:

 

•60-70% der Anwendungen im kaufmännischen Bereichen sind in COBOL entwickelt.

•Heute existieren etwa 80-100 Billionen Lines of Code in COBOL -  nach wie vor in Anwendung.

•Jedes Jahr werden etwa 2 Billionen Lines of Code neu entwickelt

•COBOL wird noch heute von ca. 1 Million Programmierern verwendet

 

Durchsetzungsbedingungen

 

Wie zumeist in unserer Wirtschaft kann als eine Bedingung für die Durchsetzung einer Sprache die Anerkennung bei marktbeherschenden Firmen genannt werden. Cobol fand bei vielen Firmen Anerkennung und wurde deshalb auch als quasi Standard für wirtschaftliche Anwendungen eingeführt. Weiters war wahrscheinlich die Einfachheit der Sprache ein Grund für den Erfolg von Cobol. Im Gegensatz zu gewöhnlichen Programmiersprachen ist Cobol angelehnt an die natürliche Sprache. Dadurch ist es auch Laien möglich Programme schon nach kurzer Zeit zu verstehen und dadurch verwirklichbare Vorschläge zur Verbesserung einzubringen. Würde sich ein Laie ein Pascalprogramm ansehen, würde er wahrscheinlich den Zusammenhang nicht verstehen. Dies war auch ein Hauptgrund für den Erfolg  von Cobol. Auch werden Cobolcompiler kostenlos zum Download angeboten.

 

 

Reale Praxis von Cobol

 

Die Programmiersprache Cobol wird meist für die Programmierung kommerzieller Probleme verwendet. Sie stellt für die Lösung solcher Problemstellungen eine Sprache dar, welche sich nicht unwesentlich von denjenigen Programmiersprachen unterscheidet, die für mathematische, naturwissenschaftliche oder technische Zwecke entwickelt wurden und deren Bekannteste wahrscheinlich FORTRAN ist. Zwei charakteristische Eigenschaften kommerzieller Programme sind:

 

·        Es werden grosse Datenmengen verarbeitet mit – im Verhältnis – wenig Rechenoperationen, z.B. „Lohn und Gehalt“ in einem Großbetrieb.

·        Die Programme haben eine lange Lebensdauer, werden aber immer wieder modifiziert, z.B. weil sich Gesetzesvorschriften ändern.

 

Um eine effektive Lösung solcher Datenverarbeitungsprobleme implementieren zu können wurde Cobol geschaffen. Die Compiler wurden kostenlos angeboten und ständige Normierungen führten auch zu Kompatibilität der Programme. D.h. funktionierte ein Programm auf einem Rechner A, so funktionierte es auch auf einem Rechner B. Wobei die Architektur der beiden Rechner A und B verschieden sein konnte. Auf Grund der wirtschaftlichen Interessen an diesen Programmen setzte sich Cobol auch bis in die heutige Zeit durch. Jedoch werden nicht viele neue Projekte in dieser Programmiersprache geschrieben. Alte Programme werden jedoch weiterhin modifiziert.

 

 

Bewertung

 

Die Vorhaben der Entwickler der Sprachen Algol und Cobol waren von Grund auf verschieden und führten auch zu zwei ideologisch und syntaktisch komplett verschiedenen Sprachen. 

 

Algol

 

Die Algol Entwickler wollten eine Sprache schaffen, die mathematische Probleme dieser Zeit lösen und doch eine gewisse Abstraktion zur maschinellen Programmierung aufweist.

 

Ein Grund des Scheiterns der Sprache war wahrscheinlich der Wille nach Maschinenunabhängigkeit. Durch die Verwirklichung dieses Punktes konnten keine schon vorhandenen Programmiersprachen wieder verwendet werden. Es wurde also eine komplett neue Sprache geschaffen. Wirtschaftlich gesehen mussten Benutzer neu beworben werden und der Name musste sich erst verbreiten. Ein Vorteil war jedoch, dass sich die Entwickler nicht mit Einschränkungen herumschlagen mussten und somit neue Sprachkonstrukte einführen konnten ohne auf Konflikte mit alten Spezifikationen achten zu müssen.

 

Algol 68, eine Weiterentwicklung von Algol und die letzte Neuerung der Sprache, setzte sich jedoch nicht bis heute durch. Der Compiler brauchte sechs Durchgänge um die Sprache übersetzen zu können und hatte somit keine Zukunft. Auch fand die Sprache nie solchen Anklang wie andere Programmiersprachen es zu dieser Zeit taten. Vielmehr sind es die Spezifikationen der Sprache, die sich bis heute durchgesetzt haben.

 

Zum Beispiel wurden grosse Teile der Syntax von Algol in Modula und anschliessend in Pascal/Delphi, unter  Berücksichtigung von didaktischen Gesichtspunkten und modernen Konzepten, übernommen. Dabei waren die wesentlichen Vorteile der Sprache, die Anlehnung an mathematische Formeltradition und die knappe, einheitliche und geschlossene Definition der Sprache. Jedoch gerade durch diese formalen Definitionen galt Algol als kryptische Sprache und war somit schwer verständlich.

 

Cobol

 

Im Gegensatz dazu waren die Überlegungen der Cobol Entwickler. Bei dieser Sprache wurde mehr Wert auf Einfachheit, als auf die Programmierbarkeit komplizierter Ausdrücke, gelegt. In der Wirtschaft auftretende Probleme sind meist behaftet mit grossen Datenmengen. Diese sollten verarbeitet werden können. Zusätzlich sollte die Sprache leicht lernbar sein. Deshalb  wurde Cobol auch an den natürlichen Sprachgebrauch angepasst. Diese Spezifikationen führten jedoch teilweise zu Einschränkungen die sich nicht nur positiv für die Sprache auswirkten. Die Vorteile der Sprache und gleichzeitig auch die Anforderungen an die Spezifikation sind hier noch einmal kurz zusammengefasst.

 

 

 

Vorteile:

 

  • Problem-orientiert und maschinen-unabhängig
  • Kompatibel
  • Gut lesbar und verständlich
  • Programmdokumentation im Code selber
  • Einheitliche Programmstruktur
  • Effiziente Codegenerierung
  • Leicht zu erlernen
  • Aufwärtskompatibilität

 

Nachteile:

 

Ein Nachteil der Sprache ist der lange Programmcode. Lautet heute eine Subtraktion zweier Variabeln „a“ und „b“ in Java ( a – b ) so muss in Cobol zum Beispiel ( subtract a from b ) geschrieben werden. Selbiges gilt auch für die anderen Grundrechenarten ( + , -, *, /). Auch die nicht einheitliche und nicht geschlossene Definition der Sprache führte zu Inkonsistenzen die nur mit Tricks überwunden werden können.

 

Doch wie sieht die Verbreitung der Cobol-Programmierer auf dem heutigen Arbeitsmarkt aus. Die Zahlen sprechen für sich. Auf dem heutigen Arbeitsmarkt sind 10mal so viele Cobol-Programmierer als man eigentlich brauchen würde. Moderne Projekte verwenden meist nur die alten Cobol-Programme in Kombination mit anderen Programmen.

 

 

Darf man Cobol nun als beinahe tot ansehen? Ich würde sagen nein. In den späten Neunzigern wurden Billionen von Dollar für das Upgrade von alten Cobol-programmen gesteckt um das Y2K Problem zu lösen. Dabei wurde der Code einer Generalüberholung unterzogen. Diese Programme werden sicher weiterhin im Einsatz bleiben. Jedoch werden sie meist mit anderen Programmen, die in anderen Programmiersprachen geschrieben wurden, z.B. Java oder C++, kooperieren müssen. Die Verwendung anderer Programmiersprachen wird meist verwendet um das UI-Design zu gestalten. Die Cobol-Programme übernehmen die Businesslogic.

 Um die Koexistenz von  neueren Programmen mit den „alten“ Cobol-Programmen zu gewährleisten, sollte die Sprache verstanden werden. Nur so können auch Probleme mit der korrekten Übernahme der gelieferten Werte vermieden werden. Es wird also auch in Zukunft nicht schaden sich mit dieser Programmiersprache zu beschäftigen.

 

Erklärung zu Business Logic:

 

Business Programmierung  sollte die folgenden vier Hauptkriterien erfüllen:

 

·        Die Fähigkeit verschiedenartiger „Record Structures“

·        Die Fähigkeit dezimaler Arithmetik

·        Die Fähigkeit der geeigneten Reportgenerierung

·        Die Fähigkeit des Zugriffs und der Manipulation grosser Datenmengen bestehend aus verschiedenartigen “Record Structures”

Objektorientierte Sprachen | Skriptsprachen | Ada und Pascal | Cobol und Algol | 4th Generation Langauages