Kategorien
JavaScript

How JavaScript works

Starten möchte ich den JS Hero Blog mit einer Vorstellung des Buchs „HOW JAVASCRIPT WORKS“ von Douglas Crockford.

Seit über 20 Jahren beinflusst Douglas Crockford die Entwicklung von JavaScript. Mit seinem Buch „JavaScript: The Good Parts“ von 2008 zeigte er, dass JavaScript im Kern eine moderne Programmiersprache ist. Beschränkt man sich auf die „Good Parts“, kann man mit JavaScript lesbare, wartbare und fehlerarme Programme schreiben.

Mit „HOW JAVASCRIPT WORKS“ von 2018 setzt Crockford diesen Weg fort. Er unterzieht JavaScript einer akribischen Analyse. In 31 Kapiteln untersucht er die einzelnen Bestandteile von JavaScript. Dabei geht es ihm nicht um die letzten neuen Features. Ganz im Gegenteil. Ihm interessieren die einfachen Dinge. Er untersucht wie Numbers, Strings, Arrays oder Objekte funktionieren. Er zeigt auf, was an ihnen gut und was an ihnen schlecht ist.

Zum Beispiel Zahlen: JavaScript kennt genau einen Zahlentyp: number. Mit diesem Typ kann man in gewissen Grenzen alle Dezimalzahlen darstellen. Andere Programmiersprachen besitzen dafür eine Vielzahl von Datentypen. In Java gibt es byte, short,int und long für ganze Zahlen sowie float und double für Fließkommazahlen. Was ist besser? Crockford ist hier eindeutig: dass JavaScript nur einen Zahlentyp kennt, ist eines seiner größten Stärken. Beim Programmieren muss man sich keine Gedanken machen, welchen Zahlentyp man nehmen soll. Fehler bei der falschen Wahl sowie der Konvertierung zwischen verschiedenen Zahlentypen werden vermieden.

Den Horizont des Buches bildet „The Next Language“. Zentrales Paradigma dieser „Next Language“ wird die eventbasierte, asynchrone, global verteilte Programmierung sein. JavaScript ist nicht „The Next Language“. Aber insbesondere mit der Behandlung von Funktionen und Events kann JavaScript dieser „Next Language“ wichtige Impulse liefern.

„HOW JAVASCRIPT WORKS“ ist ein faszinierendes Buch. Es ist kein Buch für Anfänger und es ist kein Buch, um JavaScript zu lernen. Es wendet sich an erfahrene Programmierer und vermittelt eine Idee davon, wie Programmieren im Großen und im Kleinen funktioniert und funktionieren sollte.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.