„Wie zum Teufel sind wir darauf gekommen, dass wir buchstäblich COBOL-Programmierer brauchen?“ fragte Phil Murphy, Gouverneur von New Jersey, kürzlich auf einer Pressekonferenz.
Inhalt
- Fortran
- Ada
- Pascal
- BASIC / Visual Basic
- COBOL
Konfrontiert mit einer beispiellosen Anzahl von Arbeitslosigkeit Um Anträge zu stellen, musste der Staat seine 40 Jahre alte Plattform für Arbeitslosenansprüche sofort erweitern – eine Überarbeitung Das löste sofort eine hektische Suche nach Programmierern aus, die mit der jahrzehntealten Programmiersprache vertraut waren COBOL.
Empfohlene Videos
Dieses Problem hat jedoch nicht nur New Jersey. Viele Banken-, Verteidigungs- und künstliche Intelligenzsysteme auf der Welt arbeiten mit Programmiersprachen, die damals in Mode waren, als Apple noch aus der Garage geworfen wurde.
Die Technologiebranche hat eine Affinität zu neuen und innovativen Dingen, aber wenn da nicht alte Programmiersprachen wie COBOL wären, Ada, Pascal und Fortran, die Kreditindustrie, wissenschaftliche Forschungsorganisationen und zahlreiche Verteidigungssysteme würden in Aufruhr geraten Halt. Mit anderen Worten: Ohne diesen ganzen alten Code wären wir am Arsch.
Fünfzig Jahre alte Programmiersprachen berechnen immer noch Millionen von Transaktionen und Statistiken und dienen als Rückgrat für Systeme, auf die sich die moderne Welt verlässt. Laut einer Studie aus dem Jahr 2017 verwenden beispielsweise über 95 Prozent der Geldautomaten und 40 Prozent der Banken den COBOL-Code Reuters-Bericht.
Einige dieser alten Tabulatoren erfüllen bestimmte Funktionen immer noch sehr gut. Es gibt auch viele Führungskräfte, die die bewährte Software, die für sie unerlässlich ist, nicht auseinandernehmen wollen Anstatt das Geschäft ihres Unternehmens zu überarbeiten und zu modernisieren, patchen sie einfach alten Code und hoffen auf das am besten.
Der Kampf mit alter Technologie ist kein neues Phänomen. Zum Beispiel, Kalifornien hat Hunderte Millionen Dollar ausgegeben, um seine DMV- und Gehaltsabrechnungstechnologie zu aktualisieren. Doch die aktuelle Pandemie und die daraus resultierende Welle der Arbeitslosigkeit haben deutlich gemacht, wie viel von der amerikanischen Software-Infrastruktur ebenso zusammenbricht wie die physische.
Hier sind fünf „alte“ Sprachen, von denen unsere Welt mehr abhängt, als Sie denken, und warum Sie das vielleicht etwas nervös macht.
Fortran
Ohne Fortran würden viele der Supercomputer und Modelle, die wir für Dinge wie Wettervorhersage, Astrophysik und hochrangige statistische Analysen verwenden, einfach nicht funktionieren.
Fortran (kurz für Formula Translation) wurde in den 1950er Jahren von IBM entwickelt und war eine der ersten Hochsprachen verwendete Wörter anstelle von Zahlen und ermöglichte es Programmierern, Programme 500 % schneller zu schreiben als mit Maschinen Code. Heutzutage lernen nicht annähernd so viele Entwickler die Sprache.
„Ich benutze Fortran ständig – ich denke nur nie darüber nach“, sagt James Howard, Datenwissenschaftler am Johns Hopkins Applied Physics Laboratory. Während Howard seit Jahren nicht mehr in der Sprache programmiert, greifen seine Anwendungen regelmäßig auf die Kernbibliotheken von Fortran zu. Sie wurden Anfang der 70er Jahre gebaut, sind gut gewartet und „unglaublich schnell“.
Das letzte Mal, dass Howard ein Fortran-Programm schreiben musste, war vor etwa 10 Jahren. Er arbeitete bei der Federal Reserve und musste Daten zwischen zwei Apps verschieben; eines wurde in C und das andere in Fortran geschrieben. Die Programme kommunizierten nicht mehr, weil der Anbieter die Fortran-Bibliothek nicht mehr bereitstellte.
Der 40-jährige Programmierer erinnerte sich an etwas, das er als Kind gelesen hatte, dass die Datenaufrufstruktur für die Programmiersprache C das Gegenteil von der von Fortran sei. Er schrieb ein einfaches Drehbuch, um den Befehl umzudrehen, und voilà, die Federal Reserve war wieder im Geschäft.
Ada
Staatliche Programmierer verlassen sich bei der Entwicklung von Systemen, die Zuverlässigkeit erfordern, wie etwa Verteidigungs- und Sicherheitssysteme, auf die relativ unbekannte Ada-Codebasis. Was genau ist darin programmiert? Nun, das ist so etwas wie ein Regierungsgeheimnis, aber sowohl die NASA als auch Boeing haben in den letzten Jahren Ada-basierten Code zur Programmierung von Satelliten und Flugzeugen eingesetzt.
Das Verteidigungsministerium (DOD) überwachte die Entwicklung von Ada in den 1970er Jahren, um die Zahl der vom Militär verwendeten Programmiersprachen zu reduzieren, die damals bei über 400 lag. Ada wurde entwickelt, um in Situationen, in denen es um Leben und Tod geht, zweifelsohne zuverlässig zu sein und gegen Programmierfehler gewappnet zu sein. Obwohl die Sprache bereits 1980 eingeführt wurde, ordnete der Kongress ihre Verwendung in allen Regierungssystemen erst 1995 an. Zwei Jahre später gab das Verteidigungsministerium das Mandat auf, da es davon ausging, dass es billiger und flexibler sei, allgemein verfügbare, aktuelle Systeme zu verwenden. Aber es wird auch heute noch verwendet.
Pascal
Viele Programmierer halten Pascal für eine fast tote Programmiersprache, aber sie lebt in vielerlei Hinsicht weiter. „Ob Sie es glauben oder nicht, es ist in vielen Teilen der Welt immer noch eine sehr beliebte Sprache, aber in den USA könnte es so sein Ich spreche gut Latein“, sagt Dave Hatter, der drei Jahre lang bei einer großen Versicherungsgesellschaft bei der Aktualisierung einer Versicherung mitgeholfen hat Millionen Codezeilen, die schätzten, welche Policen kosten und wie viel sie bezahlt haben.
Viele dieser älteren Programme wurden lange vor den heutigen Bedenken hinsichtlich Sicherheitsverletzungen geschrieben und enthalten vertrauliche proprietäre Informationen. Hatter, der heute als Cybersicherheitstechniker arbeitet, geht davon aus, dass die Programme allein aufgrund der „Sicherheit durch Unklarheit“ relativ sicher sein könnten – junge Programmierer wissen nicht, was sie mit jahrzehntealtem Code anfangen sollen. „Ein 15-jähriger Hacker wird keine Ahnung haben, wie man mit einer Art IBM 390-Mainframe mit COBOL arbeitet“, sagt er. „Ich sage nicht, dass sie nicht lernen konnten. Aber sie werden es nicht erfahren.“
Pascal war die Grundlage für ein frühes Apple-Betriebssystem, und der Nachkomme der Sprache, Delphi, hat immer noch starke Befürworter. Tatsächlich wurde Skype – eine der ersten Videoanrufanwendungen, die sich großer Beliebtheit und Nutzung erfreute – ursprünglich in Delphi geschrieben.
BASIC / Visual Basic
BASIC steht nicht ganz oben auf der Liste, wenn es um Sprachen geht, die die Menschen im Jahr 2020 verwenden, aber viele der modernen Anwendungen, auf die wir uns verlassen, würden ohne sie einfach nicht existieren. Wenn Sie beispielsweise jemals ein Excel-Makro programmiert haben, haben Sie eine Form von BASIC verwendet.
BASIC ist die Abkürzung für Beginner’s All-Purpose Symbolic Instruction Code und wurde 1963 am Dartmouth College eingeführt, um a zu unterrichten allgemeinem Publikum die Theorien und Möglichkeiten der Programmierung – ein Sprung ins Wasser, bevor man sich mit robusteren Sprachen beschäftigt Fortran. Die Popularität von BASIC stieg zusammen mit dem Personal Computer – Apple-, IBM- und Atari-Computer hatten alle ihre eigenen Versionen.
Mitte der 1980er Jahre waren autodidaktische Computer-Nerds weniger begeistert von BASIC und mehr an Programmen von Drittanbietern interessiert. Dann brachte Microsoft 1991 Visual Basic auf den Markt, das nicht gerade ein Update von BASIC war, aber zum Teil die gleichen Befehle und die gleiche Struktur verwendete und über eine bessere grafische Benutzeroberfläche verfügte. Dann wurde die Sprache von zahlreichen Unternehmen genutzt, um große und kleine Programme zu schreiben. Obwohl Microsoft angekündigt hat, die Unterstützung für Visual Basic 6 (die neueste Version) im Jahr 2008 eingestellt zu haben, hat die Sprache immer noch viele Benutzer. Überprüf den Tiobe-Index (in der die beliebtesten Programmiersprachen aufgeführt sind): VB ist immer noch unter den Top 10!
COBOL
„Ich würde sagen, über 90 % der Leute, die wir sehen, haben COBOL als Kernbestandteil ihrer Texte“, schätzt Brandon Edenfield, der ältere Apps aktualisiert und umstellt Moderne Systeme und hat dazu beigetragen, den Code für die Börsen in New York und Singapur zu überarbeiten. „Jedes große Unternehmen, das Sie sich vorstellen können, hat wahrscheinlich eine ungesunde Menge dieses Zeugs.“
COBOL, ein Akronym für Common Business-Oriented Language, wurde 1959 eingeführt und war auf Datenverarbeitungsaufgaben wie Budgetverfolgung, Banktransaktionen und Lohnbuchhaltung ausgerichtet. Das Verteidigungsministerium (DOD) konzipierte die Sprache ursprünglich als Notlösungsprojekt. Dann verlangte das Verteidigungsministerium von Computerherstellern, COBOL in die von ihnen verkauften Maschinen zu integrieren, und die Sprache verbreitete sich in den nächsten Jahrzehnten schnell. Laut einer Studie aus dem Jahr 2017 verwenden über 95 % der Geldautomaten und 40 % der Banken immer noch COBOL-Code Reuters-Bericht.
Ein Großteil dieser Programmierung wurde über Großrechner bereitgestellt und moderne Systeme wurden in die Cloud verlagert. Wie die missliche Lage in New Jersey veranschaulicht, sind die Entwickler, die wussten, wie man COBOL-Code pflegt, aus dem Berufsleben ausgeschieden oder bereits im Ruhestand.
Unternehmen, die diese Programme modernisieren, tun dies in der Regel auf verschiedene Weise.
„Ein großer Systemintegrator wird eine Menge Leute auf den Code werfen; Sie werden sich hinsetzen, es sich ansehen und es umschreiben“, sagt Edenfield. Dieser Ansatz ist oft der riskanteste, zeitaufwändigste und kostspieligste. Im Durchschnitt können handcodierte, große Replatforming-Aufträge drei bis zehn Jahre dauern und Hunderte Millionen Dollar kosten.
Edenfield empfiehlt automatisierte Lösungen und sagt, dass der erste logische Schritt darin bestehen könnte, einfach den Code von dort zu verschieben eine veraltete Version von COBOL auf eine aktuelle Version umstellen, was den Übergang vieler Systeme auf moderne Systeme ermöglichen würde Server. Er vergleicht ein Maschinen-Update mit der Übersetzung vom Französischen ins Englische: „Die Grundlage dessen, was gesagt wird, ist perfekt übersetzt. Sie müssen nur die Syntax der Formulierung anpassen.“ Dieser Ansatz könne auch den Zeit- und Kostenaufwand für ein Update senken, sagt er, und zwar auf etwa sechs bis 24 Monate.
Wird es billig sein? Nun, es wird billiger sein. Moderne Systemprojekte kosten typischerweise zwischen 200.000 und 10 Millionen US-Dollar. Ein großer Teil des Projekts, erklärt Edenfield, besteht nicht darin, den Code zu übersetzen, sondern zu testen, um sicherzustellen, dass er alles richtig macht.
Der Grund, warum diese Updates nicht stattfinden?
„Niemand hat vorher davon gehört, weil es kein sexy Thema ist und die Leute normalerweise nicht versuchen, über die schmutzige Wäsche zu sprechen, die sie haben“, erklärt er. IT-Führungskräfte haben auch die Angewohnheit, die Sache hinter sich zu lassen.
„Ich wette mit Ihnen, dass sich der Bundesstaat New Jersey jetzt mit diesem Thema befassen wird, aber ich wette auch mit Ihnen, dass die Hälfte ihrer Kollegen denken wird, dass ihnen das nicht passieren wird, ‚Mir nicht‘.“