Javascript, aber fließend
24.03.2011Javascript hat sich emanzipiert und ist neben dem Webbrowser nun auch auf Server, Desktop und Smartphone zu finden. Tux liest hat sich das englischsprachige Buch "Eloquent Javascript" angesehen. Es verwendet die Sprache sogar, um dem Leser einen zeitgemäßen Einstieg in die Programmierung überhaupt zu bieten.
Dementsprechend beginnt der Autor Marijn Haverbeke das rund 200-seitige Buch mit den grundlegenden Bausteinen der Sprache: Datentypen, Operatoren, Variablen und Kontrollstrukturen. Dabei hält er den Leser bereits zum Gebrauch von Einrückung und Kommentaren im Quellcode an. Erste Funktionen führen in das Konzept des Sichtbarkeitsbereichs einer Variablen ein, daneben erklärt der Autor Stack, Closure und Rekursion. Das Buch beginnt einfach und leicht verständlich, vollzieht dann aber eine steile Lernkurve: Hier wird mit Ernst und Niveau programmiert.
Katzen-Parser
Ein erstes größeres Programmierbeispiel sorgt für Unterhaltung und zeigt, wozu Javascript gut sein kann: Aus einer Sammlung von E-Mails der Tante extrahiert das Skript Namen, Alter und Abstammung der über 50 Katzen, mit denen die exzentrische Dame zusammenlebt.
Als Ausführungsumgebung für seine Programmierexperimente dient dem Leser eine Konsole mit kleinem Editor, die der Autor auf der Buch-Website unter http://eloquentjavascript.net/paper.html zur Verfügung stellt. Dort findet sich auch eine kostenlose Online-Version des Textes, aus der das Buch entstand. Sie weicht allerdings an manchen Stellen merklich von der gedruckten Fassung ab.
Als Sprachversion orientiert sich Haverbeke am ECMAScript-Standard in Version 3.
Zum Buch gibt es eine Website mit einer früheren Textfassung - und einer Javascript-Konsole, in der sich der Beispielcode ausführen lässt.
Nach dem in den ersten drei Kapiteln absolvierten Grundkurs beschäftigt sich das Buch mit fortgeschrittenen Themen wie Fehlerbehandlung und Exceptions und bietet dem Javascript-Adepten gleich zwei verschiedene Programmierstile an: Das Kapitel zur funktionalen Programmierung hält, was es verspricht, inklusive Funktionen höherer Ordnung wie Map und Reduce sowie Funktionskomposition. Der objektoriente Stil ist das zweite Angebot und wartet mit den Themen Vererbung, Polymorphie und Interfaces auf, zusätzlich stellt der Verfasser Mixins vor. Dazu gibt es jeweils ein praktisches Programmierbeispiel.
Danach bringt der Autor dem Leser bei, wie ein gestandener Entwickler seinen Code organisiert: Funktionen als Namensräume, Module als Objekte, Bibliotheken. Die Praxisaufgabe liest eine Konfigurationsdatei im Ini-Format ein und verwendet dabei unter anderem Reguläre Ausdrücke.
Erst nach so viel Wissenswertem bringt Marijn Haverbeke in den letzten Kapiteln jenes Know-how, das vor Jahren noch den Großteil eines Javascript-Buchs ausgemacht hätte: die Web-Programmierung, also die Objekte Window und Document, Formulare, Event-Handler und die Arbeit mit dem Document Object Model (DOM). Mit der zentralen Ajax-Komponente "XMLHttpRequest" und der Javascript Object Notation (JSON) verpasst er auch diesem Abschnitt einen zeitgemäßen Charakter.
Niveauvoll
"Eloquent Javascript" zeigt, wie ausdrucksstark die Skriptsprache sein kann. Obwohl das Buch wie Einsteigerlektüre beginnt, eignet sich das Niveau in großen Teilen eher für Leser, die schon ein wenig Code in Javascript oder anderen Sprachen geschrieben heben. Es geht durchwegs professionell und anspruchsvoll zu. Und damit wird das Buch der neuen Rolle des emanzipierten Javascript gerecht.
Lediglich die neuen Open-Source-Spielfelder der Sprache wie den Webserver Node.js, Gnomes Gjs und weitere hätte Marijn Haverbeke dem Leser noch vorstellen können - denn dort kann dieser das Gelernte bestens anwenden.
Update: Errata zum (gedruckten) Buch gibt es unter http://eloquentjavascript.net/errata.html
|
Marijn Haverbeke No Starch Press, 2011 220 Seiten ISBN: 978-1593272821 23 Euro (D) auch als/mit E-Book erhältlich |



