Open Source im professionellen Einsatz

Javascript, aber fließend

24.03.2011

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.

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

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

(
)

Ähnliche Artikel

  • Bücher

    Die Bücherseite greift zwei aktuelle Trends auf: Das erste Werk behandelt die Anwendungsentwicklung mit dem Javascript-Server Node.js. Das zweite möchte Java- und C-Programmierer in die Arbeit mit mehreren Prozessoren und Nebenläufigkeit einführen.

  • Bücher

    Die Bücherseite hat sich ein praktisch ausgerichtetes Buch zur Netzwerkanalyse mit Wireshark geangelt. Als Beifang gibt es ein exzentrisches Koch- und Programmierbuch aus dem Hause O'Reilly.

  • Tux liest

    Die Komplexität der Webtechnik Ajax stellt auch Buchautoren vor eine schwierige Aufgabe. Bei dem ernsten Thema Patentrecht bleibt dagegen dem Leser trotz der unterhaltsamen Darstellung des Autors bei den beschriebenen Szenarien mitunter das Lachen im Halse stecken.

  • Tux liest

    Zwei Bücher möchten Novizen die Weisheit der Meister vermitteln. Bei Eric Meyer geht es um angewandtes Webdesign mit Cascading Stylesheets. Auch Greg Wilson plaudert in seinem englischsprachigen Buch aus dem Nähkästchen und zeigt, wie er Daten rasch in die gewünschte Form bringt.

  • Bücher

    Das Linux-Magazin ergründet, was das Haskell-Buch von Simon Thompson zu einem Dauerbrenner macht. Der zweite Titel widmet sich der No-SQL-Datenbank Couch DB und ihrer Anwendung.

comments powered by Disqus