Ist Java das nächste COBOL?

In unserer Manie für das Neue ist es bequem zu vergessen, wie lange das „Alte“ bei uns bleibt. Nehmen Sie zum Beispiel COBOL. Die ehrwürdige Programmiersprache wird diesen Monat 60 Jahre alt und könnte, wie Steven J. Vaughan-Nichols geschrieben hat, „uns alle überleben“.

In der Tat bietet COBOL ein großartiges Beispiel für das wahre Tempo des Fortschritts in unserer Branche und bietet möglicherweise auch einige Hinweise darauf, wie die COBOLs von morgen aussehen werden. Java und SQL, jemand? Oder vielleicht Python?

COBOL das Arbeitstier

Die meisten Leute, die diesen Beitrag lesen, wurden nicht im Jahr 1959 geboren, als Mary Hawes auf die Idee für COBOL (Common Business-Oriented Language) kam, die Grace Hopper (und andere) formalisierten und förderten. Hawes 'Ziel war es, wie Vaughan-Nichols uns erinnert, "ein englischähnliches Vokabular zu erstellen, das auf verschiedenen Computern verwendet werden kann, um grundlegende Geschäftsaufgaben auszuführen", eine echte herstellerneutrale Sprache.

Während die Blütezeit von COBOL in den 1980er Jahren zu Ende ging, werden laut Micro Focus (dem Unternehmen, das COBOL unterhält) in einem Interview mit Vaughan-Nichols weiterhin 70 Prozent der globalen Transaktionsverarbeitungssysteme mit Strom versorgt. Geld von einem Geldautomaten abgezogen? Sie haben COBOL verwendet. Eine Hypothek bezahlt? COBOL. Callcenter angerufen? Ja, das war auch COBOL. Selbst die Buchung Ihres Urlaubs hängt mit ziemlicher Sicherheit von COBOL ab.

COBOL läuft angeblich seit Jahrzehnten aus, doch 220 Milliarden COBOL-Zeilen leben in den Mainframes unseres Lebens weiter. Laut Lero, einem Forschungszentrum für Softwareentwicklung, haben COBOL-Transaktionen die Google-Suche 2014 um das 200-fache in den Schatten gestellt. Wird Google jemals aufholen?

COBOL ist mehr als ein Dotard, der in einer Rentnerwohnung lebt. Die Sprache ist nicht nur leicht zu lesen, sondern auch mit ihren Nachbarn auf dem neuesten Stand. Heute lässt sich COBOL in Docker-Container und Java integrieren, während es in der Cloud, unter Linux oder Windows oder fast überall auf irgendetwas ausgeführt wird. Es ist eine sehr portable Sprache, mit der sich Entwickler auf das Schreiben ihrer Anwendungen konzentrieren können, während COBOL sich um die Feinheiten des zugrunde liegenden Betriebssystems kümmert.

Das größte Risiko für COBOL besteht heute darin, dass es immer schwieriger wird, qualifizierte Programmierer zu finden. Angesichts der Kosten und des Risikos, COBOL-basierte Systeme durch Alternativen zu ersetzen, kann die Sprache noch Jahrzehnte länger bei uns leben, aber das bedeutet nicht, dass Entwickler davon träumen, ihr erstes COBOL-Programm zu schreiben. Es ist ein Problem, aber keines, das ich hier in diesem Beitrag lösen möchte. (Es tut uns leid!)

Stattdessen habe ich beim Rückblick auf die 60-jährige Geschichte von COBOL über die heutigen Sprachen nachgedacht, die zu den „COBOLs“ von morgen werden könnten. Das heißt, welche Sprachen / Technologien werden noch unter der Haube einer Vielzahl von Technologien von morgen herumtollen?

Morgen ist COBOL heute

Es ist natürlich schwer, die Zukunft vorherzusagen, aber es gibt starke Fälle für SQL, Python und Java. Dave Kellogg nennt SQL seit Jahren das neue COBOL. Das mag in Bezug auf die Langlebigkeit und die Wahrnehmung, dass es veraltet ist, zutreffen, aber die Parallele lässt letztendlich nach. Es gibt nur einen COBOL. Trotz aller Standardisierungsansprüche spricht SQL je nach Datenbankanbieter einen anderen Dialekt. Das hat SQL zwar nicht davon abgehalten, hier zu bleiben (und es wird sicherlich auch in den kommenden Jahrzehnten relevant bleiben), aber es fühlt sich nicht ganz wie ein COBOL-verwandter Geist an.

Sicherlich nicht so wie Java.

Java ist wie COBOL relativ einfach zu lesen und zu schreiben. Ebenso wie COBOL hat Java seine Modernität beibehalten. Jedes Mal, wenn Java so aussah, als würde es verblassen, hat es etwas aufgepeppt. Laut Brian Leroux ist Android definitiv teilweise für die anhaltende Relevanz von [Java] verantwortlich. “ Etwas später belebte Big Data Java weiter. Wie Nitin Borwankar hervorgehoben hat, „erhielt Java aufgrund von Hadoop und des gesamten datenwissenschaftlichen Ökosystems, einschließlich der Sprachen Hive, HBase, Spark, Cassandra, Kafka und JVM wie Groovy und Clojure, einen zweiten Wind. All das wird nicht so schnell verschwinden. “

Wie bei COBOL ist einer der Hauptgründe, warum Java wahrscheinlich auf unseren Grabsteinen eingraviert ist, dass es, wie Jonathan Eunice schreibt, „tief und weit verbreitet in kritischen Apps eingesetzt wird und daher einer systematischen Kritik würdig ist“. Je mehr Unternehmen Java in ihre geschäftskritischsten Apps einbetten, desto unwahrscheinlicher ist es, dass es gerippt und durch moderne Alternativen ersetzt wird. Die Kosten und das Risiko verringern sich dagegen.

In ähnlicher Weise kann Python sein Durchhaltevermögen unter Beweis stellen. Für Lauren Cooney wird Python Bestand haben, weil es eine "GSD-Sprache" ist und keine coole Sprache. " Es ist "nicht schick". Es funktioniert einfach. Wichtig ist, dass Python wie Java unter anderem für die moderne Datenwissenschaft zunehmend eine grundlegende Rolle spielt. Dies könnte sich als Transaktions-Workload von morgen erweisen, die den Finanzsystemen zugrunde liegt (was, wie bereits erwähnt, ein wichtiger Grund dafür ist, dass COBOL heute cool bleibt).

Noch etwas? Nun, es gibt die nicht ganz so ironische Antwort, dass COBOL vielleicht das zukünftige COBOL ist. Wie Andrew Oliver es ausdrückt: „Vor Jahren habe ich gesagt, Java ist das COBOL der Zukunft. Alle sahen mich seltsam an. Ich denke, es ist die Zukunft. “