Übung macht den Meister. Das gilt auch für die Kunst der Programmierung. Um sich über die Funktionsweise einer Programmiersprache zu informieren, liest man in der Regel ein Buch oder ein Tutorial im Internet. Aber davon alleine wird man noch kein Meister. Auch nicht, wenn man zwanzig Bücher gelesen hat. Bücher sind wichtig, aber erst die praktische Erfahrung im Umgang mit einer Programmiersprache hilft einem, ein "Guru" zu werden. Und auch wenn man nicht gleich Guru werden will, so ist ein wenig Übung doch hilfreich. Wer Ruby lernen und es in der Praxis ausprobieren möchte, hat manchmal Schwierigkeiten, dies zu tun. In der Arbeit wird Ruby eventuell nicht eingesetzt und für die ernsthafte Beteiligung an einem Open-Source-Projekt fehlt die Zeit. Viele Programmierer denken sich selbst kleine Aufgaben aus, um diese dann in Ruby (oder einer anderen Sprache) umzusetzen.
Wer kleine, aber interessante Aufgaben für Ruby sucht, der findet beim wöchentlichen Ruby Quiz von James Edward Gray II auf der Ruby-Mailing-Liste interessante Herausforderungen. Nun hat der Autor 25 der besten Aufgaben erweitert und in einem Buch zusammengefasst. Das Buch ist in zwei Teile gegliedert. Im ersten Teil werden die 25 Aufgaben vorgestellt. Es handelt sich oft um die Implementierung von Spielen mit Ruby. Deren Regeln werden kurz erklärt und der Leser bekommt ggf. noch weitere Hinweise, welche für die Lösung der Aufgabe notwendig sind. Im zweiten Teil des Buches werden dann Musterlösungen für die jeweiligen Aufgaben vorgestellt. Oft wird mehr als eine Möglichkeit, das Problem zu lösen, aufgezeigt. Es werden viele verschiedene und interessante Ruby-Techniken und Bibliotheken verwendet, sodass man beim intensiven Studieren der Lösungen einiges lernen kann. Die Aufgaben sind nicht zu kompliziert, aber auch nicht zu trivial. Man sollte ein wenig Zeit und den Willen, knifflige Probleme zu lösen, mitbringen. Wenn man selbst versucht, die Aufgaben zu lösen, und erst dann die Lösungen im Buch anschaut, lernt man am meisten. Die Erklärungen zu den Musterlösungen sind relativ einfach gehalten und für jeden nachvollziehbar. Man sollte allerdings zumindest über solide Grundkenntnisse in Ruby verfügen, ansonsten wird es schwierig, den Erklärungen zu folgen. Auch "Programming Ruby" sollte man parat haben, da man immer wieder einmal etwas nachlesen wollen wird. Wer seine Ruby-Kenntnisse erweitern möchte, dem sei das Buch empfohlen.




