it-swarm.dev

Lohnt es sich noch, COBOL zu lernen?

Ist das Lernen von COBOL noch sinnvoll?

23
kiamlaluno

Ich denke nicht, es sei denn, Sie befinden sich bereits in dem Nischenmarkt, in dem COBOL noch gepflegt wird.

26
Wizard79

Nein, natürlich nicht. COBOL ist schließlich eine tote Sprache. Oder doch?

Das Problem bei dieser Ansicht ist, dass Programmierer an Standorten wie diesem normalerweise mit High-Tech-Unternehmen zusammenarbeiten, die schnell laufen (und ebenso schnell ausbrennen). Für sie ist COBOL eine tote Sprache - sie ist nirgends zu sehen. Ist schon seit einiger Zeit nicht mehr so, das stimmt.

Aber COBOL war nicht für sie gedacht. Die Softwareindustrie bietet mehr als das. Computer wurden nicht für Menschen erfunden, die irrational das Bedürfnis haben, alte ständig zu aktualisieren und durch neue zu ersetzen. Sie wurden für geschäftliche Zwecke hergestellt.

Du willst COBOL sehen? Gehen Sie zu einem Unternehmen, das die Lohn- und Gehaltsabrechnung bearbeitet, den Transport von Waren oder den Versand (wie bei Schiffen) übernimmt oder Ihr Bankkonto verwaltet. Es gibt ein riesiges unsichtbares Codesystem, das für die Benutzer praktisch unsichtbar ist, und die meisten von ihnen denken nie darüber nach, obwohl sie es jeden Tag auf die eine oder andere Weise antreffen (Geldautomaten?).

Nein, es ist nicht tot. Aber es ist sicher "Vermächtnis" ... oder?

Auch hier kommt es darauf an, wie man es betrachtet. Heutzutage werden viele Leute Java, C oder irgendetwas anderes anstelle von COBOL verwenden und von Grund auf neu schreiben ... und dabei natürlich neue Fehler einführen. Das heißt nicht, dass COBOL keine Fehler und Macken hat. Es tut so viel wie die nächste Sprache. Natürlich tut es das. In "COBOL-Zeiten" tendierten Unternehmen, die Fehler ernster als gewöhnlich nahmen (Versicherungen, Banken), dazu, Code mit höherer Qualität mit Servicegruppen von besonderer Qualität zu erstellen. Heute gibt es Fristen, in denen Zeit und Budget immer über Qualität entscheiden. Außerdem wurden diese Systeme ursprünglich für längere Zeiträume entwickelt als heute.

Wenn einige Software seit mehr als 30 Jahren funktioniert, wo liegt der Anreiz zum Wechsel? Ganze Unternehmen gaben ihr Geschäft auf, weil sie das alte Sprichwort von ignorierten: "Wenn es nicht kaputt ist, reparieren Sie es nicht." Viele versuchten es neu zu schreiben das Ding ... dann hat das erste Umschreiben viel gekostet, dann hat das zweite noch mehr gekostet ... und keiner dieser neuen und verbesserten hat es geschafft, es zu ersetzen. Wie gesagt, diese Branche brennt schnell und vergisst auch schnell.

In den 70ern war COBOL tot oder starb bald, C/C++ würde regieren. Dann wieder in den frühen 80ern übernahm Pascal. Dann in den 90ern war es Java als DIE Sprache ...

Denken Sie an Unisys Mapper, dBase, Clipper, Cold Fusion ... erinnern sich die Leute überhaupt daran? Jeder von ihnen würde der Totengräber für COBOL sein.

Berücksichtigt man dies und die Tatsache, dass es sich hervorragend für die Verarbeitung großer Transaktionsvolumina, die Stapelverarbeitung oder die aufzeichnung/transaktionsorientierte Verarbeitung eignet und dass man (ohne Fehler) eine 30 Jahre alte Unterroutine als verwalteten COBOL-Code und -Aufruf kompilieren kann Wenn Sie von einem verwalteten COBOL.NET auf Windows und .NET umsteigen möchten, habe ich Probleme, einen geeigneten Ersatz dafür zu finden. (Ich habe auch Probleme, eine Microsoft-Technologie zu finden, die länger als ein Jahrzehnt gedauert hat.)

Ja, heute wird neuer COBOL-Code geschrieben. Man muss nur wissen, wo man suchen muss.

Für diejenigen, die über COBOL lachen, IMHO, ist es wie über die ägyptischen Pyramiden zu lachen, sie sind seit 5000 Jahren dort und sie werden in den nächsten 5000 Jahren immer noch dort sein, während das heutige "Hallo Welt" -Haus, das 24 Kontrollen benötigt, um zu arbeiten, gelöscht wird. ersetzt, nächsten Monat vergessen.

Wo sind also all diese COBOL-Programmierer?

Ah, denn hier liegt das Problem. Die Sache ist, dass viele von ihnen keinen Informatik-Hintergrund haben. Viele von ihnen sind keine professionellen Programmierer (wie bei Hochschulabsolventen eines CS/SE-Programms). Zum größten Teil handelt es sich um Personen in den späten 30ern bis 50ern aus allen Fachgebieten, die vollständig vom Unternehmen speziell für diesen Job geschult wurden. Sie sind also keine "COBOL-Programmierer" - die Ausbildung, die sie erhalten haben, ist spezifisch für das Unternehmen, das von innen heraus so stark fördert. Und das macht sie so ziemlich unsichtbar.

36
Rook

Wenn Sie sich als COBOL-Programmierer sehen können, dann machen Sie es. In COBOL sind immer noch Milliarden von Zeilen geschrieben, die gewartet werden müssen.

Tatsächlich gibt es nein so etwas wie unnötiges Wissen, also erweitern Sie das Wissen und erweitern Sie die Möglichkeiten, die Sie haben werden.

16
firusvg

(COBOL

Ist es sinnvoll, es zu lernen?
Nun, es ist eine Nische und es gibt Unmengen von funktionierendem Legacy-Code, der gepflegt werden muss und nicht einfach neu geschrieben werden kann. Während es nicht wirklich eine Option für die große Masse aller Programmierer ist, ist es eine Perspektive für ein stabiles Einkommen für Einzelpersonen.

Wenn Sie jedoch daran interessiert sind, neue Lösungen zu entwickeln, anstatt die seit Jahrzehnten bestehenden Lösungen langsam zu verbessern, ist COBOL wahrscheinlich nicht die richtige Sprache.

15
back2dos

Viele europäische Unternehmen verlassen sich immer noch stark auf Mainframes wie z/vse- und cobol-Programme. Es gibt eine Nachfrage nach qualifizierten Cobol-Programmierern, von denen niemand glaubt, dass der Markt sie füllen wird, was das Gehalt stark in die Höhe treibt.

Die Frage sollte lauten: "Werde ich jemals etwas Neues mit Cobol entwickeln?" da so ziemlich alles Wartung oder Variationen bestehender unternehmenskritischer Dinge ist.

8

Wir schreiben jeden Tag neuen Cobol-Code und sind ständig auf der Suche nach neuen Programmierern. Das Angebot ist hier zu gering.

5
user1249

Ich habe für IBM gearbeitet, wo jeden Tag COBOL- und PL/I-Code geschrieben wurde. Auch von großen Unternehmen, die sich auf IBMs Mainframes verlassen, wie viele Banken, die Tausende von Transaktionen pro Sekunde benötigen, werden diese Sprachen immer noch häufig verwendet.

Wenn Sie nicht an einem solchen Ort arbeiten möchten (deshalb habe ich gerade 6 Monate dort gearbeitet), dann denken Sie nicht einmal daran, diese Sprachen zu lernen.

5
Carlos Muñoz

Wenn Sie einen Job als COBOL-Programmierer haben möchten, dann lernen Sie ihn.

Aus irgendeinem anderen Grund, wie dem Versuch, etwas Nützliches zu lernen, das Ihnen bei modernen Programmiertechniken helfen könnte, nein, stören Sie sich nicht.

4
Andy Lester

Im Jahr 2000 las ich eine Statistik, dass mehr COBOL-Zeilen geschrieben wurden als alle anderen Sprachen zusammen.
Hinzu kommt, dass IBM garantiert, dass jedes TEXT-Deck (Objektcode), das auf einem MVS-System kompiliert wurde, auf allen MVS-Systemen ausführbar ist, und dass Sie die COBOL-Programmierung so lange wie Sun durchführen können scheint.

3
Dave

Ich kann Ihnen sagen, wie ich es "gelernt" habe:
Ich war angestellt, um damit zu arbeiten, hatte keine Ahnung, worum es ging, und hatte keine Schwierigkeiten, es über Nacht zu lernen.

Wenn Sie es brauchen, können Sie es lernen. Sie müssen sich nicht mit nutzlosem Wissen überladen. Es gibt nichts Interessantes daran oder an seinen Engagements, es sei denn, Sie haben einen wirklichen praktischen Bedarf dafür.

Die generische Antwort: Lernen Sie Codierungsprinzipien, nicht deren spezifische Implementierungen (wie Sprachen usw.).

Lernen Sie es, wenn Sie möchten, dass es keine schlechte Sache sein kann, zu wissen, wie Dinge funktionieren (oder früher funktionierten).

Ich würde jedoch empfehlen, Ihre COBOL-Fähigkeiten in Ihrem Lebenslauf nicht zu stark zu betonen.

An einigen Orten (zum Beispiel im Silicon Valley, wo ich wohne) ist es eine Verpflichtung, COBOL in Ihrem Lebenslauf zu haben. Oh sicher, vielleicht finden Sie hier und da einen Platz, der Ihr Fachwissen benötigt, und in diesem Fall machen Sie Werbung dafür nur für diese Orte. Aber im Allgemeinen tun Sie sich selbst einen Gefallen und vergessen Sie zu erwähnen, dass Sie COBOL kennen.

Also ja, lerne es, wenn du neugierig bist, sag es einfach niemandem.

2
Julio

Ich würde keine Zeit damit verbringen.
Wie auch immer, COBOL ist der Baustein vieler älterer Anwendungsprogramme, die für mehrere große Unternehmen von entscheidender Bedeutung sind, die vor 20 bis 30 Jahren gestartet wurden.
Wenn Sie also für ein Unternehmen eingestellt werden, das einen Teil seines Kerngeschäfts in COBOL hat, besteht die Möglichkeit, dass Sie anfangen müssen, es zu lernen.

2
systempuntoout

Aus Sicht des Arbeitsmarktes vielleicht nicht wert, aber vielleicht möchten Sie es sich ansehen, um ein Gefühl dafür zu bekommen, wie Dinge "in der guten alten Zeit" gemacht wurden. ^^

1
gablin

Aus persönlicher Sicht würde ich sagen, dass es zuerst bessere Dinge zu lernen gibt. Viele große Unternehmen haben jedoch sehr große Investitionen in ihre COBOL-Codebasis, die sie wahrscheinlich nie wirklich hinter sich lassen werden. Dies schafft eine Branche für COBOL-Programmierer, in der sie die Codebasis pflegen und neuen Code schreiben können. Das Unternehmen, für das ich arbeite, ist ein großes Finanzunternehmen, und unser Technologie-Split für Entwickler beträgt ungefähr 30% COBOL, 40% Java und 30% C #).

1
Chris Knight

Ich habe gerade auf Australiens größter Job-Website nach "cobol" gesucht. Es lieferte 87 Ergebnisse, und (nach einem kurzen Blick) scheinen es sich meistens um alte Wartungspositionen bei Banken und Finanzinstituten zu handeln. Meistens deutlich besser bezahlt als "modernere" sprachbasierte Jobs - vermutlich aufgrund der Seltenheit der Cobol-Erfahrung.

Also ja, es scheint, als wäre Cobol das Lernen wert, wenn Sie 1) nichts dagegen haben, Legacy-Wartungsarbeiten durchzuführen, und 2) Sie in eine Nische gelangen möchten, die gut bezahlt und wahrscheinlich nicht sehr wettbewerbsfähig ist, da es etwas ist, das nur noch wenige Menschen lernen.

(Ich gehe davon aus, dass der Cobol-Markt in den meisten Volkswirtschaften der Ersten Welt ähnlich wäre, aber falsch sein könnte?)

0
Bobby Tables

Denken Sie über die Arten von Problemdomänen nach, in denen Sie arbeiten möchten. In der Regel verfügen diese Domänen über eine Reihe von Sprachen, die im Allgemeinen für diesen Zweck verwendet werden. Wenn COBOL dem entspricht, fahren Sie fort.

Auf keinen Fall würde ich Cobol oder die Problemdomäne (n) berühren, die es mit einer 10-Fuß-Stange stark beanspruchen. Ich würde lieber Burger umdrehen.

Überlegen Sie auch, ob die Sprache einen Bonus/eine Verbesserung Ihrer Programmierfähigkeiten/-konzepte bietet. Ich kann mir nichts vorstellen, was COBOL tun/implementieren/Funktionen kann, das nicht besser gemacht oder in einer anderen Sprache besser demonstriert werden kann.

Sie und andere fühlen sich möglicherweise anders.

0
Tim

Es gibt immer noch viele Legacy-Systeme in COBOL. Unabhängig davon, ob Sie sie pflegen oder in andere Programmiersprachen portieren möchten, lohnt es sich immer noch, COBOL zu lernen.

Unabhängig davon, was es ist, sind einige Kenntnisse in mehreren Programmiersprachen von Vorteil, da Sie aufgrund Ihrer Kenntnisse eine Programmiersprache oder einen Programmieransatz für unterschiedliche Projektanforderungen auswählen können. Sie können Ihre Kenntnisse in Programmiersprachen nutzen, um bessere, sauberere und effizientere Codes zu erstellen und Fallstricke zu vermeiden.

0
Adrian Hoe