Ist COBOL-Lernen noch sinnvoll?
Ist COBOL-Lernen noch sinnvoll?
Antworten:
Ich denke nicht, es sei denn, Sie befinden sich bereits auf dem Nischenmarkt, auf dem COBOL noch besteht.
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.
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).
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.
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.
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 schreiben jeden Tag neuen Cobol-Code und sind ständig auf der Suche nach neuen Programmierern. Das Angebot ist hier zu klein.
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.
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.
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.).
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.
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.
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. ^^
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 #.
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?)
Ü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.
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.