Open Source im professionellen Einsatz

Javascript, aber fließend

Javascript 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.

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.

Hier erklärt das Buch, sonst sehr sparsam mit Abbildungen, das Document Object Model (DOM).

Hier erklärt das Buch, sonst sehr sparsam mit Abbildungen, das Document Object Model (DOM).

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
Eloquent JavaScript: A Modern Introduction to Programming

No Starch Press, 2011

220 Seiten

ISBN: 978-1593272821

23 Euro (D)

auch als/mit E-Book erhältlich

(
)
comments powered by Disqus