Worum geht es in diesem Buch?
Clemens: Wir wollen den Lesern helfen, den Programmieralltag mit Ruby zu bewältigen.
Armin: Dafür bieten wir eine praxisorientierte Einführung in die objektorientierte Programmiersprache Ruby. Zusätzlich haben wir Schnelleinführungen für erfahrene Perl-, Java- oder C++-Programmierer, die neue Jagdgründe erobern wollen.
Warum habt ihr das Buch geschrieben?
Clemens: Um Programmierern Ruby näher zu bringen und sie dadurch im sonst
grauen Programmieralltag "`glücklich"'
zu machen.
Stefan: Wir wollten die Einführung in das Programmieren mit Ruby schreiben, die wir selbst gebraucht hätten, als wir Ruby gelernt haben.
Armin: Ruby hat uns von sich überzeugt. Bei Approximity setzen wir Ruby für die verschiedensten Aufgaben ein: von Wegwerfskripten über Prototyping bis zu größeren Analyse- und Bestellsystemen in Intranets.
Für wen ist das Buch?
Armin: Für alle, die effizient programmieren wollen. Nach unseren Erfahrungen lieben vor allem Smalltalk-Fans Ruby, aber auch Java-Programmierer kommen schnell auf den Geschmack.
Clemens: Programmierer, die sich der Mächtigkeit von Skriptsprachen
bewusst sind und diese gepaart mit Eleganz in der Praxis einsetzen wollen.
"`Aufstieg"'
für Tcl-, Perl- und Python-Programmierer,
"`Umstieg"' für Smalltalk-, Java- und C++-Programmierer.
Für wen ist dieses Buch nicht geeignet?
Stefan: Für Leser, die eine vollständige und endgültige Referenz erwarten. Ruby und seine Bibliotheken sind nach wie vor im Wachsen, und in jeder Release gibt es ein paar neue Features, die das Leben leichter machen.
Wir gehen davon aus, dass unsere Leser Ruby lernen wollen, und sind davon überzeugt, dass der beste Weg dazu ist, mit der Sprache zu experimentieren. Wer erwartet, nur durch Lesen dieses Buches die Sprache zu beherrschen, wird nicht zufrieden sein.
Welches Vorwissen sollte man mitbringen?
Clemens: Programmiererfahrung in einer vorzugsweise objektorientierten Sprache ist vorteilhaft. Eine kurze Einführung geben wir in diesem Buch im Kapitel 15.1.
Armin: Erfahrungen mit einer Skriptsprache wie Perl oder PHP schaden nicht, denn Ruby ist Perl relativ ähnlich.
Wie ist das Buch aufgebaut? Was steht in den einzelnen Teilen und Kapiteln?
Stefan: Das Buch ist in 5 Teile gegliedert:
Wir bieten einen kurzen Einstieg in objektorientiertes Arbeiten
mit Ruby und erklären, wie man mit Objekten, Klassen und Modulen
umgeht. Dieser Teil schließt mit einem Ausblick auf Design Patterns
(Entwurfsmuster), Metaprogrammierung und Reflexion.
Wie sollten Einsteiger das Buch lesen?
Armin:
Ich würde Ruby gemäß Anhang E installieren, mir dann die "`Schmankerl"' anschauen und
das Buch mit Randbemerkungen und Zitaten kurz überfliegen. Danach würde ich es Seite für
Seite durcharbeiten, die Beispiele am PC ausprobieren und vielleicht auch
gleich ein bisschen abändern. Learning by doing ist effizienter als sich
berieseln zu lassen. Wir haben deswegen auch unsere Programmbeispiele
bewusst sparsam kommentiert.
Stefan: Wer noch keine Erfahrungen mit objektorientierten Sprachen hat, möge bitte die "`besondere"' Schreibweise der Ruby-Methoden als syntaktische Regel akzeptieren. Mit zunehmender Erfahrung kommt dann auch das Verständnis, was eigentlich passiert.
Clemens: Wir haben einige Stellen im Text mit einem Rubin gekennzeichnet, die man beim ersten Durchlesen getrost überspringen kann, da sie fortgeschrittene Themen ansprechen oder Verweise auf nachfolgende Kapitel enthalten.
Wie sollten Umsteiger und Fortgeschrittene das Buch lesen?
Clemens:
Für Umsteiger von Perl,
Java und C++ haben wir im Anhang Kurzinformationen zusammengestellt, die wir
vor allem in der Ruby-Talk-Mailingliste gesammelt haben.
Stefan: Außerdem weisen wir im Text immer wieder darauf hin, wie bestimmte Features in Ruby mit anderen Sprachen in Beziehung stehen.
Was kann der Leser, wenn er das Buch durchgearbeitet hat?
Stefan: Er weiß, wofür Ruby eingesetzt werden kann und kennt den für Ruby typischen Programmierstil.
Armin: Er programmiert produktiv in einer modernen, objektorientierten Sprache. Return on Investment ist garantiert!
Was muss man sonst noch über dieses Buch wissen?
Dieses Buch erhebt nicht den Anspruch eine vollständige Referenz zu sein, wie sie mit dem exzellenten "`Programming Ruby"' der Pragmatic Programmers [ThHu99] schon (auf Englisch und wohl bald auch auf Deutsch) zur Verfügung steht. Deshalb schadet es nicht, ein Exemplar des so genannten "`Pickaxe"'-Buchs zur Hand zu haben, das auch als kostenlose HTML-Version [PickAxe] oder als HTML-Hilfe-Datei im Windows-Installer [WinRuby] verfügbar ist. Und kurz vor Weihnachten 2001 ist uns noch die Referenz "`Ruby in a Nutshell"' [Mat01] von matz selbst ins Haus geflattert, die auch Änderungen bis zur Version 1.7.1 erfasst.
Tiefer gehende Konzepte und Anmerkungen, die beim ersten Lesen übergangen werden können,
haben wir mit dem Maskottchen Ruby-Chan markiert und in einer anderen Schrift gesetzt.
Ruby-Programme sind in dieser Schrift gesetzt,
Ergebnisse, die an der Konsole ausgegeben oder in der Ruby-Shell irb
angezeigt werden, markieren wir mit #-> .