Lohnt es sich noch, COBOL zu lernen? [geschlossen]


23

Ist COBOL-Lernen noch sinnvoll?


9
Es wird ungefähr 9990 sein, nicht sicher, ob Sie so lange leben.
Toon Krijthe

4
@Gamecat --- Nur wenn das Y10K-Problem bis dahin nicht von faulen Unternehmen oder Einzelpersonen gelöst wurde, oder ?!
Mark C

2
Denken Sie daran, dass COBOL allein Sie nicht weit bringen würde. Sie müssen den Stack für das Betriebssystem starten, mit dem Sie arbeiten möchten. Auf IBM Computern benötigen Sie beispielsweise VSAM, MVS oder Z, CICS, ISPF, möglicherweise IMS und ISPF, Panvalet / Easytrieve, JCL zusätzlich zu COBOL.
NoChance

2
cobol.com sieht wirklich wie Web 2.0 aus und sie verschenken eine Kaffeemaschine! Wenn das nicht modern und pragmatisch ist und ein Schlagwort einfügt, dann weiß ich nicht was.
Raphael R.

Sie können ein stabiles Einkommen erzielen, wenn Sie gut darin sind und einen COBOL-Laden finden.

Antworten:


26

Ich denke nicht, es sei denn, Sie befinden sich bereits auf dem Nischenmarkt, auf dem COBOL noch besteht.


13
70% der vorhandenen Infrastruktur werden mit COBOL betrieben. Vom Durchziehen einer Debitkarte an einem Geldautomaten über die Online-Reservierung eines Flugzeugs bis hin zum Weiterleiten eines Handy-Anrufs. Alle, die auf COBOL laufen (oder wesentlich davon abhängen). Es ist kaum eine Nische oder ein altes Umfeld. Die meisten dieser Systeme laufen seit Jahrzehnten nahezu unterbrechungsfrei und einwandfrei (eine weitaus bessere Erfolgsbilanz als bei Java und .NET), und die Anzahl der COBOL-Programmierer nimmt ab. Willst du viel Geld verdienen? Stellen Sie sich auf einen enormen COBOL-Mangel ein, der in etwa einem Jahrzehnt auftreten wird.
Luis.espinal

14
@ luis.espinal: nein, dies ist ein weit verbreiteter mythos und ein prozentualer anteil von 70% stimmt nicht mehr. Der COBOL-Verbrauch nimmt stetig ab, und irgendwann werden wir ihn los. Und ... COBOL bei der Anrufweiterleitung? Ich glaube nicht. Vielleicht in der Telefonrechnung, aber selbst dort ist es heutzutage unwahrscheinlich.
Wizard79

6
@Lorenzo - 70% ein Mythos? Nicht in der Telekommunikation beteiligt? Können Sie diese Behauptungen sichern? Wir rechnen nicht einmal mit seiner Beteiligung an der Schifffahrt (Dutzende K Container / Jahr) oder an der Gesundheitsbranche. Ich weiß nicht, wie es ist, wo Sie arbeiten, aber hier in Nordamerika (und an vielen anderen Orten) gibt es COBOL in großer Zahl und es funktioniert gut . Warum sollte jemand das Risiko eingehen, etwas neu zu schreiben, das funktioniert und geschäftskritisch ist ? Ich würde gerne fantasieren, dass ich alles in Java oder C ++ umschreiben werde, aber es gibt Fantasie, und es gibt Software-Engineering und die Wirtschaftlichkeit von Software.
Luis.espinal

9
@ luis.espinal: Da ich in der Telekommunikationsbranche gearbeitet habe, weiß ich, dass Telefonvermittlungsgeräte kein COBOL verwenden ... sie basieren auf dedizierter Hardware und Firmware. Einige Unternehmen nutzen COBOL noch für die Abrechnung und das Rechnungswesen, aber neue (wie Mobilfunkanbieter) setzen auch dafür andere Technologien ein. Die Umschaltung läuft.
Wizard79

8
@ luis.espinal: Mein Schwager arbeitet bei einem großen Telekommunikationsunternehmen und schreibt Software für neue Switches. Ich garantiere Ihnen absolut positiv, dass er COBOL NICHT verwendet!
Bob Jarvis - Wiedereinsetzung von Monica

36

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

Das Problem mit 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 wahr.

Aber COBOL war nicht für sie gedacht. Die Softwareindustrie hat noch mehr zu bieten. Computer wurden nicht für Leute mit irrationalem Bedürfnis erfunden, alte ständig zu aktualisieren und durch neue zu ersetzen. Sie wurden für geschäftliche Zwecke gemacht.

Sie möchten COBOL sehen? Gehen Sie zu einem Unternehmen, das die Lohn- und Gehaltsabrechnung abwickelt oder das Versenden von Waren (wie auf Schiffen) oder Ihr Bankkonto abwickelt. Es gibt ein riesiges unsichtbares Code-System, das für die Benutzer praktisch unsichtbar ist, und die meisten von ihnen denken nie darüber nach, obwohl sie es auf die eine oder andere Art und Weise täglich antreffen (Geldautomaten?)

Nein, es ist nicht tot. Aber es ist mit Sicherheit "Vermächtnis" ... oder doch?

Kommt wieder drauf an wie du es ansiehst. 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 Bugs und Macken hat. Es tut so viel wie die nächste Sprache. Natürlich tut es das. Aber in "COBOL-Zeiten" neigten Unternehmen, die Bugs ernster als üblich nahmen (Versicherungen, Banken), dazu, qualitativ hochwertigere Codes mit speziellen Qualitätsdienstleistungsgruppen zu erstellen. Heute gibt es Fristen, in denen Zeit und Budget immer über die Qualität entscheiden. Auch diese Systeme wurden ursprünglich für längere Zeiträume entwickelt als heute.

Wenn einige Software seit über 30 Jahren funktioniert, wo liegt dann der Anreiz zum Wechsel? Ganze Unternehmen gaben ihr Geschäft auf, weil sie das alte Sprichwort ignorierten: "Wenn es nicht kaputt ist, repariere es nicht." Viele versuchten, das Ding umzuschreiben ... dann kostete das erste Umschreiben viel, das zweite noch mehr ... und keines dieser neuen und verbesserten Produkte schaffte es, 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. In den frühen 80ern übernahm Pascal das Kommando. In den 90ern war es dann Java als DIE Sprache ...

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

Unter Berücksichtigung dessen und der Tatsache, dass es sich hervorragend für die Verarbeitung großer Transaktionsvolumina, die Stapelverarbeitung oder die datensatz- / transaktionsorientierte Verarbeitung eignet und eine 30 Jahre alte Subroutine als verwalteter COBOL-Code und Aufruf kompiliert werden kann (ohne Fehler) 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 zehn Jahre gedauert hat.)

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

Für diejenigen, die über COBOL lachen, ist es wie über die ägyptischen Pyramiden zu lachen. Sie sind seit 5000 Jahren dort und werden auch in den nächsten 5000 Jahren dort sein, während das heutige "Hallo Welt" -Gehäuse, das 24 Kontrollen benötigt, gestrichen wird. ersetzt, nächsten Monat vergessen.

Wo sind also all diese COBOL-Programmierer?

Ah, denn hier liegt die Reibung. Die Sache ist, dass viele von ihnen keinen Informatik-Hintergrund haben. Viele von ihnen sind keine professionellen Programmierer (wie bei Universitätsabsolventen eines CS / SE-Programms). Meist sind es Leute in den späten 30ern bis 50ern aus allen Fachgebieten, die vollständig von der Firma speziell für diesen Job ausgebildet wurden. Sie sind also keine "COBOL-Programmierer" - die Ausbildung, die sie erhalten haben, ist spezifisch für das Unternehmen, das so stark von innen Werbung macht. Und das macht sie so ziemlich unsichtbar.


9
Die Einstellung zu iPhone / Desktop / Web 2.0 ist ein guter Weg, um die Weiten der Computerwelt zu vergessen.
Paul Nathan

8
Wo sind also all diese COBOL-Programmierer? Taxis fahren.
Johnc

1
@johnc - woher hast du das? 70% der vorhandenen Infrastruktur wird mit COBOL betrieben, und es mangelt an COBOL-Programmierern. Es wäre vielleicht schwierig gewesen, einen Job zu finden, wenn Sie COBOL erst in den Dotcom-Tagen gekannt hätten (wir reden jetzt über ein Jahrzehnt). Aber jetzt??? Mann, COBOL wird in etwa einem Jahrzehnt aufgrund der Kritikalität dieser Systeme und des Mangels an Software-Entwicklern, die wissen (oder klug genug sind, die Chance zu nutzen), mit COBOL zu arbeiten, sehr gefragt sein.
Luis.espinal

2
@ luis.espinal Mir sind die Probleme, denen wir mit dem Mangel an COBOL-Programmierern konfrontiert sind, völlig (und schmerzlich) bewusst, jedoch wurde mein Kommentar aus Erfahrung etwas leichtfertig ausgesprochen. Zumindest in Australien war so ziemlich jeder Taxifahrer, den ich in den letzten zehn Jahren getroffen habe und der noch kein Einwanderer war (und möglicherweise auch einige), ein ehemaliger COBOL-Programmierer. Vielleicht Zufall, und ich sage das, ohne die Taxifahrer, Einwanderer oder COBOL-Entwickler persönlich zu beurteilen. Es ist einfach eine Beobachtung.
Johnc

2
@johnc - Ich zweifle nicht an deinem Wort, aber ich finde diese Beobachtung extrem schwer zu glauben.
Turm

16

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

Tatsächlich gibt es kein unnötiges Wissen. Erweitern Sie also das Wissen und die Möglichkeiten, die Sie haben (werden).


1
Da es keine unnötigen Kenntnisse gibt, nominiere ich Intercal für die nächste Sprache, die Sie lernen!
Tikhon Jelvis

@TikhonJelvis: Zu einfach, viel zu einfach. Malbolge ist was Sie suchen.
Magus

15

COBOL

Ist es sinnvoll, es zu lernen?
Nun, es ist eine Nische und es gibt Tonnen von funktionierendem Legacy-Code, der gepflegt werden muss und nicht einfach umgeschrieben werden kann. Das ist zwar nicht wirklich eine Option für die breite Masse aller Programmierer, aber eine Perspektive für ein stetiges Einkommen für den Einzelnen.

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


8

Viele europäische Unternehmen verlassen sich nach wie vor stark auf Mainframes, die wie z / vse- und Cobol-Programme ausgeführt werden. Es gibt eine Nachfrage nach erfahrenen Cobol-Programmierern, von denen niemand glaubt, dass der Markt voll wird, was das Gehalt erheblich steigert.

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


5

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 nach wie vor häufig verwendet.

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


Wir arbeiten am Rückgrat der Wirtschaft und bewältigen diese Art von Verkehr, was sicherlich von vielen als eine gute technische und geschäftliche Chance angesehen wird.
Luis.espinal

5

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


5
Das ist wirklich beängstigend, aber interessant. Ich habe noch nie einen echten Live-Cobol-Programmierer getroffen (und ich bin kein Frühlingshuhn)
Tim

3
Warum unheimlich? Sie haben wahrscheinlich auch noch nie einen Lisp-Programmierer getroffen ...

@Tim Es gibt jemanden von MicroFocus, der Artikel über Code Project schreibt - alles in COBOL ... für .NET! Es ist wirklich seltsam, COBOL mit moderneren Technologien aktualisiert zu sehen.
MetalMikester

2
@Thorbjorn - Ich habe in lisp programmiert und kenne lisp Programmierer. Vielleicht bin ich nur ahnungslos und voreingenommen, aber was ich über Cobol weiß, veranlasst mich nicht dazu, über MEHR Code in dieser Sprache nachzudenken.
Tim

1
Lisp wird für interessante Projekte verwendet und ist eine interessante Sprache für sich. Dies gilt auch für C ++, Ruby on Rails, Smalltalk und Haskell. Cobol wird für langweilige Geschäftsanwendungen verwendet und ist nur für Personen interessant, die Compiler und Tools dafür erstellen müssen. Grundsätzlich benutzen die coolen Kids kein Cobol und ich benutze "cool" so locker, dass ich mit einbezogen werde. Sie müssen zu verschiedenen Orten gehen, zum Beispiel zu einer Business School, um Cobol-Leute zu finden.
David Thornley

4

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

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


IMO, moderne Programmiertechniken haben wenig mit Programmiersprachen zu tun und mehr mit Softwaremethodik. Es gibt Entwickler, die in ihrem Leben nur OO-Sprachen gesehen haben und dennoch nicht beschreiben können, wie ein gutes OO-Design aussieht. Gute Programmier- und Softwareentwicklungsprinzipien gehen über Programmiersprachen hinaus. Ich würde mir vorstellen, dass ein junger Entwickler mit angemessenen Fähigkeiten eine bessere Lernerfahrung im Bereich Software-Engineering hat, wenn er mit einem fehlenden kritischen "prozeduralen" Erbe umgeht als eine weitere Schicht prozeduraler Kruste, die in Java geschrieben wurde (ich bin übrigens ein Java-Entwickler)
luis.espinal

3

Im Jahr 2000 habe ich eine Statistik gelesen, in der mehr COBOL-Zeilen geschrieben wurden als in allen anderen Sprachen zusammen.
Hinzu kommt die IBM Garantie, dass jedes TEXT-Deck (Objektcode), das auf einem MVS-System kompiliert wurde, auf allen MVS-Systemen ausführbar ist, und Sie haben die Garantie, dass solange die Sonne scheint, COBOL-Programmierung durchgeführt wird.


6
Wenn man bedenkt, wie wortreich COBOL ist, ist das kein Wunder ;-).
Oliver Weiler

3

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 an ihm oder seinen Verpflichtungen, es sei denn, Sie haben ein echtes praktisches Bedürfnis danach.

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


2

Ich würde keine Zeit damit verbringen.
Wie auch immer, COBOL ist der Baustein vieler älterer Anwendungsprogramme, die für mehrere Unternehmen, die vor 20 bis 30 Jahren gegründet wurden, von entscheidender Bedeutung sind.
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.


Mögen? (15 Zeichen)
TheLQ

@TheLQ Banken oder Versicherungsunternehmen, die vor 20 bis 30 Jahren gegründet wurden, haben ihre Softwaregrundlagen in COBOL.
Systempuntoout

2

Lernen Sie es doch, wenn Sie möchten, dass es nicht schlecht sein kann, zu wissen, wie die Dinge funktionieren (oder früher funktionierten).

Ich würde jedoch davon abraten, Ihre COBOL-Kenntnisse in Ihrem Lebenslauf zu stark hervorzuheben.

An einigen Orten (zum Beispiel im Silicon Valley, wo ich wohne) ist COBOL in Ihrem Lebenslauf eine Belastung. Sicher, vielleicht finden Sie hier und da einen Ort, der Ihr Fachwissen benötigt, und in diesem Fall machen Sie nur dort Werbung . 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.


1

Vielleicht aus Sicht des Arbeitsmarktes nicht wert, aber vielleicht möchten Sie einen Blick darauf werfen, um ein Gefühl dafür zu bekommen, wie Dinge "in der guten alten Zeit" gemacht wurden. ^^


Das einzige Mal (glaube ich), dass der Markt für COBOL schlecht war, war während der Dotcom-Apokalypse mit E-Hype und allem.
Luis.espinal

1

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, in der COBOL-Programmierer die Codebasis pflegen und neuen Code schreiben können. Das Unternehmen, für das ich arbeite, ist ein großes Finanzunternehmen, und unsere Technologie für Entwickler besteht zu etwa 30% aus COBOL, 40% aus Java und 30% aus C #.


2
in der Lage, ja, aber warum - Arbeitscode ist Arbeitscode.

0

Ich habe gerade auf Australiens größter Job-Website nach "Cobol" gesucht. Es lieferte 87 Ergebnisse, und (von einem kurzen Überblick abgesehen) handelt es sich anscheinend hauptsächlich um alte Wartungspositionen bei Banken und Finanzinstituten. Meist deutlich besser bezahlt als "modernere" sprachbasierte Jobs - vermutlich aufgrund der Seltenheit der Cobol-Erfahrung.

Also ja, es scheint, als wäre Cobol lohnenswert zu lernen, wenn es Ihnen 1) nichts ausmacht, alte Wartungsarbeiten durchzuführen, und 2) wenn Sie in eine Nische wollen, die gut bezahlt und wahrscheinlich nicht sehr wettbewerbsfähig ist, da es etwas ist, was nur wenige Leute mehr lernen.

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


Sogar Banken / Versicherungen / PA entwickeln sich langsam zu moderneren Technologien. Das Eintreten in diese Nische mag also gut sein, aber was wird passieren, wenn der alte Code und sein Nischenmarkt irgendwann verschwinden?
Wizard79

@Lorenzo: Nun, das kann über jede Spezialität in unserem Bereich gesagt werden (auch über alle Bereiche im Allgemeinen). Umschulung. z.B. Dampflok-Fahrer mussten umschulen und Diesel- oder Elektrolok-Fahrer werden, usw. usw. :)
Bobby Tables

Aber COBOL ist bereits eine Nische. Die Idee ist, dass Sie, wenn Sie sich jetzt für COBOL entscheiden, wahrscheinlich früher als bei anderen Technologien neu trainieren müssen.
Wizard79

1
@Lorenzo - Nein, nicht wirklich. Die Tatsache, dass sie in cs univ. Nicht zum Mainstream gehören, macht sie nicht automatisch zu einer Nische. Es bedeutet nur, dass Sie sich nicht in Kreisen bewegen, in denen Sie ihnen begegnen. Wie viele Mitarbeiter in der Automobilproduktion kennen Sie? Marinearchitekten? Flugzeugpiloten? Denken Sie, dass sie auch eine Nische sind? (Außerdem haben Sie in beiden Beispielkategorien Probleme, Stellenanzeigen zu finden.) Man muss wissen, wo man suchen muss.
Turm

1
@Lorenzo - glauben Sie wirklich, dass der gesamte COBOL- und FORTRAN-Code und die Wissensdatenbank irgendwann neu geschrieben werden? Ich meine, ernsthaft. Ich habe noch nie jemanden in der Industrie und im akademischen Bereich getroffen, der glaubt, dass so etwas möglich und erst recht nicht wünschenswert ist . So hässlich COBOL auch aussieht (eine subjektive Reaktion), diese Systeme funktionieren gut, viel besser als der E-Crap, den wir seit den Dotcom-Tagen bauen. Das ist ein Beweis für industrielle Qualität. Es ist besser ingenieurtechnisch und wirtschaftlich, diese Systeme zu warten, als sie neu zu schreiben (unter der Annahme eines
Nullrisikos

0

Überlegen Sie, in welchen Problemdomänen 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 damit übereinstimmt, fahren Sie fort.

Es gibt keine Möglichkeit, Cobol oder die Problemdomäne (n), die es stark verwenden, mit einer 10-Fuß-Stange zu berühren. Ich würde lieber Burger umdrehen.

Überlegen Sie auch, ob die Sprache Ihre Programmierfähigkeiten / -konzepte verbessert. Ich kann mir nichts vorstellen, was COBOL besser kann / implementiert / bietet oder was in einer anderen Sprache besser demonstriert werden kann.

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


0

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

Unabhängig davon, was es ist, sind Kenntnisse in mehreren Programmiersprachen von Vorteil, da Sie aufgrund Ihrer Kenntnisse eine Programmiersprache oder einen Ansatz 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.


In den Jahren 2004 bis 2005 war ich an einem Modernisierungsprojekt für die Marine in meinem Land beteiligt, bei dem etwa 200 KByte Ada83 auf Ada95 und etwa 25 KByte COBOL68 und COBOL74 auf Ada95 portiert wurden. Ich habe COBOL 1987 gelernt und es ist definitiv die Zeit und Mühe wert, COBOL zu lernen. Ich könnte es mir nicht vorstellen, wenn ich keine COBOL-Vorkenntnisse hätte.
Adrian Hoe
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.