Hallo Besucher, der Thread wurde 22k mal aufgerufen und enthält 156 Antworten

letzter Beitrag von struuunz am

Die Programmiersprache COBOL

  • Vor diesem Artikel hatte ich noch nie etwas von dieser Programmiersprache gehört und mir wäre bei COBOL nur Battlestar Galactica eingefallen.


    Die Sprache ist uralt, sie wurde bereits in den 50ern entwickelt, als programmieren noch hauptsächlich ein Beruf für Frauen gewesen sein soll. Und obwohl man kaum etwas von ihr hört oder liest, muss sie bei Banken, Ämtern und Behörden noch ziemlich verbreitet sein.


    Aber es gibt kaum noch Programmierer dafür. Die Sachen liefen wie gewünscht und es wurde vermieden, Geld für Wartung und Modernisierung des Codes auszugeben. So gab es auch wenig Grund, die Sprache beruflich zu lernen. „Über eine Zeitspanne von 20 Jahren wurde Cobol für tot gehalten. Niemand lehrte es, niemand lernte es. Cobol kam auf, bevor es überhaupt die Floppy Disk gab, geschweige denn das Internet“.


    Durch Corona aber wurden/ werden jetzt händeringend Programmierer für die Datenverarbeitung des amerikanischen Arbeitsministeriums gesucht.


    Mich würde mal interessieren, ob hier jemand (berufliche) Erfahrungen mit dieser Sprache hat und wie er sie einschätzt. Wie gut oder schlecht findet ihr sie?


    Und es gibt auch für den C64 COBOL. ich habe aber gelesen, das der Speicher des C64 damit schnell an seine Grenzen kommt. Wie sinnvoll ist oder war es, damit am C64 zu programmieren?

  • Ach ja, Cobol, einer der noch lebenden Dinosaurier der IT. Und dafür haben die Banken heute ihre großen Mainframes.


    Vor Jahren gab es an meiner Uni am Fachbereich Informatik beim Angebot der Programmierkurse auch einen Kurs für Cobol. Ein Kollege hatte den tatsächlich angefangen, aber dann vorzeitig wieder abgebrochen. Er meinte damals, die Sprache sei ihm "zu blöd". Daran erinnere ich mich noch dunkel.

  • Ich kann mich erinnern, das Ende der 90er schon mal Cobol-Programmierer gesucht wurden. Damals, um die vorhandene Software Y2k-fest zu machen. Ein Bekannter hat das damals gemacht, das wurde wohl auch gut bezahlt. Einiges an Software wurde damals auf Java umgestellt, aber so wie es aussieht scheint immer noch einiges unter Cobol zu laufen.

    Um die Programmierung in Cobol einfach zu halten, wurde wohl versucht natürliche Sprache nachzuahmen. Aus if (a > b)... wird dann so etwas wie if a is greater than b then... Deshalb gilt Cobol als "geschwätzig". Es gab dann auch den Witz, dass (in Anlehnung an C++) eine objektorientierte Version von Cobol "Cobol giving Cobol increased by one" heissen müsste.

  • dass (in Anlehnung an C++) eine objektorientierte Version von Cobol "Cobol giving Cobol increased by one" heissen müsste

    "add 1 to Cobol giving Cobol"


    Ich habe gelesen, das die Sprache bewusst so gehalten wurde, damit sie für die Nutzer leicht nachvollziehbar ist. Aber bei dem geringen Speicher der damaligen Rechner, war das wirklich so sinnvoll?

    Ich kenne Cobol nicht im Detail, aber ich könnte mir vorstellen, dass der Compiler den Quelltext nicht komplett in den Speicher lädt sondern immer nur zeilenweise oder in kleinen Häppchen und diese dann compiliert. Laut Wikipedia war das allerdings am Anfang auch nicht gerade schnell: "Early COBOL compilers were primitive and slow. A 1962 US Navy evaluation found compilation speeds of 3–11 statements per minute. By mid-1964, they had increased to 11–1000 statements per minute. It was observed that increasing memory would drastically increase speed and that compilation costs varied wildly: costs per statement were between $0.23 and $18.91"

  • Es ist ja nur der Sourcecode so ausführlich. Das ausführbare Programm kann ja deutlich kürzer sein.


    Wie es bei Cobol ist, weiss ich nicht. Aber bei Fortran ist es wohl so, dass nach 50 Jahren und mehr seit es die Sprache gibt, die Compiler inzwischen sehr effizient sind. Ich könnte mir vorstellen, dass es bei Cobol ähnlich ist.

  • Ich habe...

    Was ist mit diesem Hopper?

    Dass die Leute bei Menschen, die etwas bedeutendes geleistet haben immer gleich an Männer denken zeigt wie patriarchaisch unsere Gesellschaft immer noch ist. Bei "diesem Hopper" handelt es sich um Grace Hopper, die als erste die Idee hatte, dass die Programmierung eines Computers in einer englischen Syntax erfolgen sollte. Sie hatte die Sprache A-0 und deren Nachfolger entwickelt und die Idee der leichten Syntax floß später in COBOL ein.

  • ... immer gleich an Männer denken zeigt wie patriarchaisch unsere Gesellschaft immer noch ist. Bei...

    ^^ Wenn meine Frau als erstes an mich denkt, wenn es um Müll raustragen, Rasen mähen oder Reparieren geht, stützt das Deine These nicht wesentlich, nehme ich an?

    :gruebel Aaach, ScheiX drauf ...

    Eine ungerechte Welt ;)


    Aber Du hast Recht, ne verrückte Nudel war das!

    In vieler Hinsicht eine Vorbildin ich lass den Blödsinn jetzt...


    Stefan

  • Hatte Cobol in der Ausbildung in verschiedenen Geschmacksrichtungen.

    - Programmieren auf Formularen, die dann zur Datenerfassung gegeben worden wären.

    - Microfocus Cobol Workbench unter DOS.

    - Texteditor eines IBM mainframes.


    Das meiste zur Sprache hab ich inzwischen vergessen.

    Die sprachliche Geschwätzigkeit a la ADD A TO B GIVING C war ja schon genannt.

    Kompliziertere Formeln musste man aus einzelnen Kommandos dieser Art zusammensetzen, später gab es dann ein COMPUTE-Kommando, das Formeln wie Basic auswerten konnte.


    In guter Erinnerung ist mir die Aufteilung in Divisions geblieben.

    Manches davon erkenne ich heute in den XML-Files von C# wieder.

    DATA DIVISION und PROCEDURE DIVISION waren imho C64-Assembler näher als die Variablen-Deklarationen heutiger Sprachen.


    Die DATA DIVISION hatte ein paar originelle Elemente für "Strukturen", die bei Gruppenwechseln nützlich waren.

    "Datensätze fester Länge" für Textfiles waren damals auch noch ein Ding, das von der Sprache schön unterstützt wurde.

    BCD-Zahlen waren auch noch Standard, hießen irgendwas mit COMPRESSED, weil ja 2 Ziffern je Byte gespeichert wurden.


    Zahlen konnten innerhalb Strings definiert werden, mehrere Variablen konnten den gleichen Speicherbereich verwenden. Halt so ein Zeugs, das man auch in Assembler zaubern kann, nur ordentlicher, Quasi Label + Typ + Längen.

    Das eine oder andere konnte ich davon in C64-Assembler gut gebrauchen.

  • Ich "durfte" COBOL neben Pascal in der Ausbildung zum Datenverarbeitungskaufmann lernen.

    Das war 1991 so ziemlich der einzige Lehrberuf, der mit IT zu tun hatte.


    Wir hatten keine Computer in der Schule und Programmieren hieß bei uns:

    - Wir sollten Zahlen mit Bubblesort sortieren.

    - Man nehme ein DIN-A4 Blatt und zeichne ein PAP mit Hilfe einer Schablone.

    - Danach erst kommt das Codieren: Man setzt das PAP Schritt für Schritt in Code um (auch auf Papier).


    Dann hatten wir noch "Fachrechnen":

    Ein Magnetband ist 80 Meter lang. Auf 1 cm passen 500 Bytes. Wie viel Bytes passen auf das ganze Band, wenn der Vorlauf 1,50 Meter beträgt?


    Unsere Schulbücher waren von 1977. So war das damals nach dem Krieg. Wir hatten ja nix.



    Das war einige Jahre, nachdem ich mir BASIC und 6502 Assembler im "Selbststudium" beigebracht hatte.

    Da war nichts mehr zu retten. Ich war Spaghetticode versaut ;(


    Ich könnte heute keine einzige Zeile COBOL mehr schreiben. Es hat mich damals schlicht nicht interessiert.

    Mit COBOL konnte man weder Bilder, noch Laufschrift oder Musik auf dem Atari ST oder Amiga erzeugen -> uninteressant!


    Ach ja, Opa erzählt wieder Geschichten aus dem Schützengraben .... :rolleyes:

  • Ich habe...

    Was ist mit diesem Hopper?

    Dass die Leute bei Menschen, die etwas bedeutendes geleistet haben immer gleich an Männer denken zeigt wie patriarchaisch unsere Gesellschaft immer noch ist. Bei "diesem Hopper" handelt es sich um Grace Hopper, die als erste die Idee hatte, dass die Programmierung eines Computers in einer englischen Syntax erfolgen sollte. Sie hatte die Sprache A-0 und deren Nachfolger entwickelt und die Idee der leichten Syntax floß später in COBOL ein.

    Naja, er hätte ja auch Konteradmiralin schreiben können, das Grace danach habe ich wohl der späten Uhrzeit geschuldet einfach überlesen :D Aber interessante Geschichte.

  • Ich bekam vor kurzem eine COBOL-Stelle angeboten, obwohl mein Lebenslauf sehr eindeutig zeigt, dass ich eher Webentwickler bin und mit COBOL genau nichts zu tun habe.


    Weil ich vor ein paar Wochen mit einem Kumpel darüber gescherzt habe, dass COBOL aktuell eine rechte interessante Karrieremöglichkeit ist, habe ich mein Interesse bekundet und war am Ende auch ziemlich weit in der Bewerbungsrunde.


    Die Firma war auch sehr interessiert, hat sich aber am Ende gegen mich entschieden, weil sie jemand akut brauchten und keiner Zeit hatten, mich einzuarbeiten.