Liebe Java,
ich bin jetzt seit 20 Jahren glückliches Mitglied in deinem Fanclub. Das möchte ich zum Anlass nehmen, dir herzlich für die Zeit zu danken. Ich will dir einmal erzählen, was ich vor und mit dir alles erlebt habe.
Ich erinnere mich noch gut an die Zeit, bevor ich dich kannte. Ich lernte Programmieren in einer Basic-Bar. In der Computerabteilung einer damals sehr bekannten Warenhauskette standen eine Reihe von Commodore-Rechnern nebeneinander. Vor ihnen standen Seite an Seite Jungspunde wie ich, um sich ein paar Kurze (Basic-Programme) hinter die Binde zu kippen. Selbstverliebt lautete mein erster Zweizeiler:
10 print "Reik"
20 goto 10
Irgendwann wurde ich auf eine Pascal-Party eingeladen. War das toll ohne nummerierte Zeilen den Quellcode zu schreiben und Teile davon in Prozeduren auszulagern. Auf einer anderen Party lernte ich dann Turbo-Pascal kennen. Wow! Programmieren wie Porschefahren. Und das mit einem alkoholfreien Cocktail aus Prozeduren und Modulen. So ließ sich Code sauber und handlich wiederverwenden.
Schließlich kam der Tag an dem ich Java-Jahrmarkt besuchte. Viele Java-Akrobaten zeigten dort ihre Künste und damit deine Vorzüge. Die Vorführungen waren toll anzusehen, doch die Nachahmung fiel mir zunächst sehr schwer. Mit deiner Objektorientiertheit, Polymorphie und Vererbung stelltest du meine prozedurale Welt völlig auf den Kopf. Nachdem ich mich aber an diese neue Normalität mit dir gewöhnt hatte, eröffneten sich wunderbare und vorher nicht vorstellbare Möglichkeiten. Als dann noch Test-First in Mode kam und du mit JUnit eingekleidet warst, war ich restlos begeistert von dir.
Ich muss allerdings gestehen, dass ich dir fast einmal untreu geworden wäre. In einer kleinen aber feinen Ruby-Runde musste ich feststellen, dass junge und frische Programmiersprachen dich alt aussehen lassen. Jemand in der Runde hatte Lambdas mitgebracht. Damals für mich krass exotisch, weil es die bei dir noch nicht gab. Der kurze aber ausdrucksstarke Code von Ruby beeindruckte mich sehr. Für die Möglichkeit, diese Sprache in meinen Projekten anwenden zu können, hätte ich dich und deinen Fanclub damals vielleicht sogar verlassen.
Doch ich blieb dir treu und habe es nicht bereut. Ich verfolgte teils skeptisch, teils erfreut wie du generisch, funktional und modular wurdest. Alles bin ich interessiert mitgegangen und habe es schätzen gelernt. Doch wenn ich in die Zukunft blicke, dann habe ich doch ein mulmiges Gefühl.
Vor einiger Zeit besuchte ich ein Kotlin-Konzert. Dort hatte ich ein ähnliches Gefühl wie Jahre zuvor in der Ruby-Runde. Deine neue Konkurrenz besitzt klangvolle Instrumente wie z.B. Typinferenz, Typ-Aliasse, Null-Sicherheit und Klassenerweiterung. In deinem Orchester fehlen die. Es erstaunte mich, wie viele meiner Kollegen deinen Fanclub verließen und mit welch großer Begeisterung sie dem Kotlin-Club beitraten. Christoph schrieb dir anlässlich seines Clubwechsels sogar einen Trennungsbrief. Jörg, ein anderer Kollege, tauschte in seiner Email „javacook“ gegen „kotlincook“ aus. Wohin soll dieser Trend nur führen? Wird Kotlin dich tatsächlich in die Ecke spielen?
Wenn ich in die Zukunft blicke – 5, 15 oder vielleicht sogar 25 Jahre - dann habe ich drei verschiedene Visionen. Die Erste ist sehr traurig. Darin bist du nicht mehr als ein Wikipedia-Link unter https://de.wikipedia.org/wiki/Zeittafel_der_Programmiersprachen. Vielleicht wird es - wie bei Basic und Pascal - noch kleine Nischen geben, in denen du dich rumtreiben darfst, aber mehr auch nicht.Die zweite Vision ist nicht viel besser. Darin bist du zwar noch im Einsatz, aber deine Fans betreuen deine Programme nur noch wie Palliativmediziner ihre Patienten.
Erst die dritte Version sieht freundlicher aus. Zusammen mit anderen Programmiersprachen hast du dich zu einem Alleskönner weiterentwickelt. Ob objektorientiert, deklarativ, strukturiert oder irgendetwas anderes - ein Alleskönner bietet seinen Anwendern verschiedenste Programmierparadigmen und sämtliche sprachliche Möglichkeiten an, die sich in der Programmierwelt bewährt haben. Programmierer wählen dann je nach Vorliebe oder Problem aus, wie der Quellcode gestrickt wird. Damit ist es nur noch Geschmacksfrage welcher Programmierer welchen Alleskönner verwendet.
Würde die erste Vision bald wahr werden, sähe ich mich gezwungen, der johlenden Kotlin-Gemeinde zu folgen. Sollte die zweite Vision wahr werden, hätte ich immerhin eine realistische Chance, dir bis zu meiner Rente treu bleiben zu können. Cool wäre natürlich die dritte Vision, aber dafür musst du dich jetzt ranhalten. Du hast bereits gezeigt, dass du flexibel und veränderbar bist. Reck dich, streck dich, mach dich frisch. Ich hoffe Du fühlst Dich nicht so alt, wie ich mit Dir manchmal aussehe.
Auf die nächsten 20 Jahre!
Dein Reik