JavaScript regiert die Welt – vielleicht sogar im wahrsten Sinne des Wortes


Lex Fridman hat in seinem beliebten Podcast viele lange Interviews gegeben. Trotzdem die Episode mit dem legendären Programmierer John Carmack hat ein aus den Fugen geratenes Director’s-Cut-Feeling. Über fünf Stunden lang befasst sich Carmack mit allem, von Vektoroperationen bis hin zu Untergang. Aber es ist etwas, was Fridman beiläufig sagt, was die verlängerte Laufzeit wirklich rechtfertigt: „Ich denke, wenn wir in einer Simulation leben, ist sie in JavaScript geschrieben.“

Zur Überprüfung: JavaScript macht statische Webseiten „dynamisch“. Ohne sie würde das Internet einer leblosen und dunklen Spielhalle nach Feierabend ähneln. Heutzutage wird die Sprache sowohl in der Front- als auch in der Backend-Entwicklung für eine ganze Reihe mobiler Plattformen und Apps verwendet, darunter Slack und Discord. Und das Wichtigste, was man darüber im Zusammenhang mit Fridmans nerdigem Koan verstehen sollte, ist Folgendes: Für jeden Programmierer mit Selbstachtung, der es tatsächlich zugibt Geschmack JavaScript ist so etwas wie ein Fauxpas – ähnlich wie ein Arthouse-Filmemacher, der sich zum Marvel-Fan bekennt.

Ich nehme an, das hat etwas damit zu tun, dass JavaScript in kürzerer Zeit erstellt wurde, als man braucht, um ein Glas Kombucha selbst zu brauen: 10 Tage. Im Jahr 1995 beauftragte Netscape einen Programmierer namens Brendan Eich mit der Entwicklung einer Sprache zur Einbettung in seinen Browser, Netscape Navigator. Ursprünglich LiveScript genannt, wurde die Sprache in JavaScript umbenannt, um dem Hype um eine nicht verwandte Sprache namens Java Rechnung zu tragen, die Anfang des Jahres eingeführt worden war. (Auf die Frage nach dem Unterschied zwischen Java und JavaScript wird ein Programmierer wahrscheinlich scherzen: „Java ist für JavaScript das, was Auto für Teppich ist.“) Bis heute halten nur wenige Menschen JavaScript für eine besonders gut gestaltete Sprache, am allerwenigsten Eich. „Ich habe 1995 JavaScript begangen“, sagte er einmal, „und seitdem habe ich es wiedergutgemacht.“

Was genau war sein Verbrechen? Sie können leicht Unmengen von Blog-Beiträgen, Memes und Reddit-Threads finden, die JavaScript blockieren, aber mein Favorit ist ein vierminütiges Gespräch vom Softwareentwickler Gary Bernhardt mit dem Titel „Wat“. Stellen Sie sich zunächst vor, dass Sie einer Gruppe von Nicht-Englisch-Sprechern die Gegenwarts- und Vergangenheitsformen von Verben wie „like“ zeigen würden Kochen (Kochen/gekocht) Und kauen (kauen/gekaut). Wenn Sie sie dann nach der Konjugation von fragen essenwer könnte es ihnen verdenken, dass sie geantwortet haben essen/gegessen? In ähnlicher Weise ist der „Wat“-Vortrag eine Panne über die Macken und unvorhersehbaren Verhaltensweisen von JavaScript. Nehmen wir an, Sie möchten eine Liste mit Zahlen sortieren: [50, 100, 1, 10, 9, 5]. Der Aufruf der integrierten Sortierfunktion in einer beliebigen vernünftigen Sprache gibt die Liste in numerisch aufsteigender Reihenfolge zurück: [1, 5, 9, 10, 50, 100]. Wenn Sie dies in JavaScript tun, wird zurückgegeben [1, 10, 100, 5, 50, 9], wobei 10 und 100 als größer als 5 gelten. Warum? Weil JavaScript jede Zahl als Zeichenfolgentyp interpretiert und eine lexikalische Sortierung durchführt, keine numerische Sortierung. Totaler Wahnsinn.

Wenn Fridman sagt, dass JavaScript die Welt regiert, meint er mit anderen Worten, dass unsere Welt, genau wie der zugrunde liegende Quellcode, massiv verkorkst und unverständlich ist. Es ist so, als würde man mit einem Seufzer verkünden, dass die Allgemeine Erklärung der Menschenrechte angesichts des traurigen Zustands des Planeten in Comic Sans verfasst worden sein muss.

An dieser Stelle, Ich muss gestehen, dass JavaScript zwar nicht meine Lieblingssprache ist, mir aber gefällt. Ich liebe es tatsächlich. Deshalb kann ich nicht anders, als einen Anflug von Missbilligung zu verspüren, wenn eine gewisse Programmierergemeinschaft dagegen polemisiert. Oft konzentrieren sie sich auf Mängel, die vor Jahren behoben wurden. Wenn man sich mit den ursprünglichen Mängeln von JavaScript beschäftigt, übersieht man die Tatsache, dass jede Software – und jede Programmiersprache im Wesentlichen eine Suite von Software – überarbeitet und verbessert werden kann.

source-114

Leave a Reply