Viele heute Programmierer, entschuldigen Sie, Software Ingenieure– betrachten sich selbst als „Kreative“. In gewisser Weise Künstler. Sie neigen dazu, auffällige persönliche Websites mit geschickt versteckten Easter Eggs und Parallax-Scrolling zu erstellen; Sie geben sich selbst vielschichtige Berufsbezeichnungen („Ex-Amazon-Ingenieur-Investor-Autor“) und vollstopfen ihre Laptops mit Vinylaufklebern, die ihre Identität signalisieren. Manche halten sich für literarische Kluge. Bedenken Sie die überschriebenen Referenzen in einigen Produktnamen: Apache Kafka, ScyllaDB, Claude 3.5 Sonnet.
Mir ist bewusst, dass vieles davon auf mich zutrifft. Der Unterschied besteht darin, dass es mir etwas an Sortierfähigkeiten mangelt und meine Spielzeugprojekte – mit Namen wie „Nabokov“ (Ich weiß, ich weiß) – besser auf meinem Laptop bleiben sollten. Ich betrat diese Welt ungefähr zu der Zeit, als Software-Engineering das Bankwesen als den am meisten gehassten Beruf ablöste. Es gibt viel Hass und Selbsthass, mit dem man umgehen muss.
Vielleicht ist das der Grund, warum ich die Ethik hinter der Programmiersprache Go sowohl als Vorwurf als auch als mögliches Korrektiv für meine Generation ambitionierter Entwickler betrachte. Ihre Schöpfer stammen aus einer Zeit, in der Programmierer bescheidenere Egos und weniger kommerzielle Ambitionen hatten, und meiner Meinung nach ist es die erste Allzwecksprache des neuen Jahrtausends – nicht die beste in einem bestimmten Bereich, aber fast die beste in fast allen Bereichen jeden Bereich. Ein Vorbild für unsere protzige Zeit.
Wenn ich es wäre Um Programmiersprachen als künstlerische Bewegungen zu klassifizieren, können wir den Utilitarismus der Mitte des Jahrhunderts (Fortran, COBOL), den hochtheoretischen Formalismus (Haskell, Agda), den amerikanischen Pragmatismus (C#, Java), den populären Kommunitarismus (Python, Ruby) und den esoterischen Hedonismus zitieren (Befunge, Brainfuck). Und ich würde sagen, dass Go, das oft als „C des 21. Jahrhunderts“ bezeichnet wird, den Neoklassizismus repräsentiert: weniger eine Revolution als vielmehr einen Rückschritt.
Im Jahr 2007 kamen drei Google-Programmierer zu der gemeinsamen Beobachtung zusammen, dass Standardsprachen wie C++ und Java schwer zu verwenden und für die heutige, stärker auf die Cloud ausgerichtete Computerumgebung nicht mehr geeignet seien. Einer von ihnen war Ken Thompson, ehemals bei Bell Labs und Gewinner des Turing-Preises für seine Arbeit an Unix, dem mitochondrialen Vorabend der Betriebssysteme. (Heutzutage spielen Betriebssystementwickler nicht mehr mit Programmiersprachen: Beides zu tun ist wie ein olympischer Hochspringer, der sich auch für den Marathon qualifiziert.) Er wurde von Rob Pike begleitet, einem weiteren ehemaligen Mitarbeiter von Bell Labs, der zusammen mit Thompson hat den Kodierungsstandard Unicode UTF-8 erstellt. Sie können ihnen für Ihr Emoji danken.
Diesen Programmierdekanen bei der Entwicklung von Go zuzusehen, war, als würde man Scorsese, De Niro und Pesci dabei zusehen, wie sie zusammenkamen Der Ire. Wir könnten sogar seinen Namen verzeihen, der nicht sehr SEO-freundlich ist. Ich meine, seine Kühnheit. Ein Schritt, den nur der amtierende König der Suchmaschinen wagen konnte.
Die Sprache gewann schnell an Popularität. Das Prestige von Google muss dazu beigetragen haben, aber ich vermute, dass es ein unbefriedigtes Bedürfnis nach etwas Neuem gab. Im Jahr 2009, dem Jahr der Veröffentlichung von Go, datierten die jüngsten aktuellen Sprachen größtenteils aus dem Jahr 1995, einem wahren Annus Mirabilis, mit der Veröffentlichung von Ruby, PHP, Java und JavaScript.
Es ist nicht so, dass der Fortschritt beim Programmiersprachendesign stagniert hätte. Sprachdesigner sind eine Gruppe großartiger Köpfe, von denen viele von einem reformistischen Eifer angetrieben werden, den Status quo umzustürzen. Aber was sie am Ende bauen, kann manchmal wie ein Wunderwerk eines Stararchitekten aussehen, das jedoch Probleme mit der Entwässerung hat. Die meisten neuen Sprachen überwinden grundlegende Leistungsprobleme nie.
Aber von Anfang an war Go (sorry) startklar. Ich habe einmal eine kleine Suchmaschine in Python geschrieben, um meine Notizen und Dokumente zu durchsuchen, aber sie war unbrauchbar langsam. In Go umgeschrieben, wuchsen meiner erbärmlichen Schlange Flügel, sie flog los und rannte 30-mal schneller. Wie einige kluge Leser vermutet hätten, war dieses Programm mein „Nabokov“.