Unsere Seite auf Google+

Filed under: literatur

Groovy - Grundlagen und fortgeschrittene Techniken (Rezension)

Christian Kröger aus der JUGHH hat sich den dpunkt - Titel "Groovy - Grundlagen und fortgeschrittene Techniken" von Joachim Baumann vorgenommen. Hier nun seine Rezension:

Rezension

Das mir vorliegende Buch, erste Auflage 2008, wendet sich an Java-Entwickler und Studenten. Das Buch gliedert sich in drei große Abschnitte: "Einführung", "Grundlagen" sowie "Fortgeschrittene Themen", und füllt dann mit dem Anhang zusammen 587 Seiten.
In der "Einführung" erleichtert der Autor dem Leser den Einstieg in die Groovy-Programmierung durch z.B. die Beschreibung der Installation von Groovy und einer Entwicklungsumgebung. Der Abschnitt "Grundlagen" umfasst ca. 200 Seiten und vermittelt alle wichtigen Basis-Konzepte, Features und Besonderheiten. Spannend für mich als Java-Entwickler wurde es im etwa 260-seitigen Abschnitt "Fortgeschrittene Themen"; Hier geht es um genau jene Features, die mich veranlasst haben, mal einen Blick auf diese "andere" Programmiersprache zu richten. Auch die beschriebenen Interaktionsmöglichkeiten zwischen beiden Sprachwelten Java und Groovy, ermöglichen es dem Java-Entwickler, über eine mit Groovy "gewürzte" Architektur nachzudenken beziehungsweise diese auch umzusetzen.

Fazit

Das Buch ist sehr umfangreich und lebt von den vielen kurzen Beispielen. Ein weiterer positiver Aspekt ist, dass es sich bei dem Titel um einen relativ aktuellen Titel handelt (bezogen auf die jetzt aktuelle Groovy-Version). Der Titel ist in deutsch verfasst. Hierdurch wurde eine Zeitverzögerung, wie bei den übersetzten englischsprachigen Titeln üblich, vermieden, ebenso wie oft bemängelte zusätzliche und evtl. sinnverfälschende Interpretationen seitens eines Übersetzers.
Die Freude an der reinen Lektüre wird etwas durch den recht nüchternen Ton getrübt. Insgesamt handelt es sich eben um eine Referenz, die eher bei der direkten Anwendung hilfreich ist - jemand der hier lediglich vermittels der Lektüre an die Materie herangeführt werden möchte, wird womöglich von der Informationsvielfalt überfordert sein.
Die gute Struktur des Buches macht es jedoch zu einem kompetenten und umfangreichen Nachschlagewerk für die Groovy-Entwicklung.

Groovy für Java Entwickler (Rezension)

Christian Kröger aus der JUGHH hat sich den O'Reilly - Titel "Groovy für Java Entwickler" vorgenommen. Jetzt liegt seine Rezension vor:

Rezension

Da dynamische Sprachen voll im Trend liegen, und die Produktivität in einigen Bereichen der Softwareentwicklung mit deren Hilfe erhöht werden kann, hat mich der Titel Groovy für Java Entwickler aus dem O Reilly-Verlag interessiert. Das mir vorliegende Buch, erste Ausgabe 2007, ist 330 Seiten stark und lässt sich grob in drei Teile gliedern.

Im ersten Teil, der ca. 100 Seiten umfasst, motiviert der Autor Jörg Staudemeyer durch seine offensichtliche Begeisterung zum Umgang mit der Sprache Groovy und vermittelt deren Grundlagen sowie neue Konzepte. Es wird kurz die Installation angerissen, und dann unmittelbar mit Beispielen für Dinge wie GPath, GString, Closures, Builder, Template/Template-Engine, neue Schlüsselwörter, Ranges, Elementare Datentypen, Operatoren und Operatoroverloading eingegangen. In diesem Zusammenhang ist der gezogene Vergleich zu der herkömmlichen Javalösung interessant.

Auf den dann folgenden hundert Seiten (zweiter Teil) wird tiefer in die Materie eingestiegen. Von Highlights der Groovy-Standardbibliothek , dem dynamischen Programmieren, der Integration von Groovy in die Javawelt bis hin zur Ergänzung bzw. Unterstützung im Entwicklungsprozess werden dem Javaentwickler weitere Blickwinkel auf die potentiellen Anwendungsgebiete eröffnet.

Der letzte Teil, der Anhang, soll als API-Referenz beziehungsweise als Nachschlagewerk dienen.

Fazit

Das Buch ist gut geschrieben und liest sich flüssig (perfekt für den Weg zur Arbeit). Gerade die Vergleiche zu Java oder die Verwendung im Buildprozess oder im Unittesting machen das Buch für den Javaentwickler zur wertvollen Lektüre. Der eher geringe Umfang des Buches macht deutlich, dass es sich hier um eine Einführung für den Javaentwickler handelt und macht durchaus Appetit auf mehr es ist als Einstieg in das Thema Groovy gedacht, und in dieser Hinsicht uneingeschränkt zu empfehlen.
Einziger Wehrmutstropfen ist, dass das Buch Ende 2007 erschienen ist und sich auf Groovy in der Version 1.1 bezieht, aktuell ist Groovy in der Version 1.5.6.

Die Originalrezension findet ihr bei Amazon.de. Danke an Christian für die gute Arbeit.

The Ruby Programming Language (Rezension)

Standardwerk zur Sprache

Stephan Freund aus der JUGHH hat sich den O'Reilly - Titel "The Ruby Programming Language" vorgenommen. Jetzt liegt seine Rezension vor:

Rezension

Ruby hat keine offizielle Spezifikation, nur stattdessen eine Referenzimplementierung, die MRI oder "Matz's Ruby Implementation", von Yukihiro Matsumoto, dem Erfinder von Ruby. Zusammen mit David Flanagan, dem Autor vom altgedienten "Java in a Nutshell", hat dieser jetzt "The Ruby Programming Language" verfasst, was nach ihren Wörtern darauf zielt, "die Sprache umfassend zu Dokumentieren aber ohne eine formale Spezifikation zu sein." Es wird sicherlich zum Standardwerk über die Ruby-Sprache an sich.

Das Buch deckt die vertrauten Elementarteile einer Sprache ab: Datentypen, Ausdrücke, Kontrollstrukturen, Methoden, Klassen und Metaprogrammierung. Lediglich zwei Kapitel am Ende befassen sich mit der Platform (built-in Klassen und Standardbibliothek), und mit dem Interpreter und der Laufzeitumgebung. Zu schätzen ist die genaue, gut verständliche und effiziente Erklärweise. Besonders Wertvoll ist die Darstellung von Blocks, Procs und Lambdas, und von der Metaprogrammierung - Bereiche, wo Ruby sich besonders auszeichnet in Sachen Flexibilität und Eleganz.

Werden der Geist von Ruby und guter Ruby-Stil hierin vermittelt? Wenig, obwohl das ist hier auch nicht das Ziel. Die Bleistift-Illustrationen von why the lucky stiff, der ein bekanntes und fantasievolles Ruby-Tutorial im Netz pflegt, deuten auf das erste, und im Text zerstreute Hinweise zum üblichen Sprachgebrauch auf das zweite. Das Buch ist nicht zum einmal Durchlesen geeignet, sondern zum Begleiten beim Aufbau der Expertise in Ruby. Es wird vielen als Sprachreferenz dienen, wozu man zuerst greift. Es ist übrigens der Nachfolger von "Ruby in a Nutshell", und O'Reilly hat sich ein Gefallen getan, die ganze API-Doks nicht abzudrucken, im Gegensatz zum Walzer "Java in a Nutshell".

Fazit

Dies ist wohl das beste Buch seiner Art, aber nicht jeder will das. Damit möchte kein Einsteiger als erstes, einziges Ruby-Buch anfangen. Ein bisschen von allem (Tutorial, Beschreibung der Sprache und API-Referenz) bietet immer noch die Pickaxe, d.h. "Programming Ruby", auch gerade neu herausgekommen. Wenn man Ruby gleich einsetzen will und Beispielcode in gutem Ruby-Stil sucht, dann ist man besser mit einem Kochbuch bedient, "The Ruby Way" oder "Ruby Cookbook". Insgesamt ist es allerdings ein Buch, das jeder, der Ruby als seine Hauptsprache benutzt oder nur sich gründlich mit der Sprache auseinandersetzen möchte, sicherlich haben will.

Die Originalrezension findet ihr bei Amazon.de. Danke an Stephan für die gute Arbeit.

Web Services mit REST

Christian Kröger aus der JUGHH hat sich den O'Reilly - Titel "Web Services mit REST" vorgenommen. Jetzt liegt seine Rezension vor.

Rezension

Ich habe dieses Buch gelesen ohne mich vorher intensiv mit Web Services beziehungsweise mit den 'besseren' REST Web Services zu beschäftigen, ging also unvoreingenommen und damit dieser speziellen Thematik gegenüber aufgeschlossen an die Lektüre.
Die beiden Autoren Sam Ruby und Leonard Richardson führen den Leser zunächst in die Welt der real existierenden Web Services ein. Auf dieser Grundlage kategorisieren sie Web Services in REST-konform, RPC-artig, REST-RPC-hybrid und erläutern die Unterschiede und Besonderheiten. Die Kernaussage ist, dass die 'Simplizität der Schnittstelle' und das 'Denken in Ressourcen' den Vorteil eines REST-konformen Web Services gegenüber dem 'dicken' Web Service ausmachen. In diesem Zusammenhang werden bekannte REST-konforme Web Services sowie deren programmatische Verwendung beschrieben (Leider fast ausschließlich in Ruby).
Ein Aspekt des Buches behandelt die Frage nach einer vernünftigen ressourcenorientierten Architektur. Adressierbarkeit, Zustandslosigkeit, Verbindungshaftigkeit und eine einheitliche Schnittstelle stellen hierbei das Fundament dar. Webstandards wie HTTP-Header, Statuscodes, Etag etc. und deren Nutzen werden hervorgehoben.
bekommt der Leser einen Eindruck wie ein ressourcenorientierter Service entworfen werden sollte. Wie bereits oben erwähnt, sind die wenigen Codebeispiele fast alle in Ruby geschrieben (Der Autor Richardson hat übrigens im selben Verlag ein Buch zum Thema Ruby veröffentlicht), und damit nicht unbedingt für Jedermann gleich verständlich.
Abschließend werden die "Best Practices" zu REST und ROA und die Unterschiede der "herkömmlichen dicken" Web Services zu den ressourcenorientierten beleuchtet.
Das meiner Meinung nach für die Praxis potentiell interessante zwölfte Kapitel beschäftigt sich kurz mit bestehenden Frameworks für REST-konforme Services (Ruby on Rails, Restlet für Java und Django für Python).
Der ausgesprochen umfangreiche Anhang listet etliche Quellen zum eigentlichen Thema. Dieser wirkt über die Maßen gestreckt durch unnötige Auflistungen von HTTP-Codes und HTTP-Header.

Fazit

Für einen Einstieg in das Thema ist dieses Buch gut geeignet, wobei zumindest grundlegende Kenntnisse aus dem Bereich der Webprogrammierung vorhanden sein sollten. Da ich das Buch auch ein wenig aus der Java-Welt betrachtet habe, hat mich besonders das beschriebene Restlet-Framework interessiert. Leider kommt dieser Abschnitt mit neun Seiten für eine konkrete Verwendung in der Praxis etwas zu kurz und sollte vermutlich nur einen Anreiz zur eigenen Recherche sein.
Das Buch hat durchaus das Bewusstsein für die Ideen der ressourcenorientierten Services geweckt. Um das gelernte Wissen in der Praxis anzuwenden, reicht die Lektüre dieses Buches allein jedoch nicht aus.
Das ohnehin schon eher theoretische Thema wäre in diesem Umfang schwerlich ausreichend sowohl in Theorie als auch Praxis zu beschreiben gewesen.
Die Originalrezension findet ihr bei Amazon.de. Danke an Christian für die gute Arbeit :-)

Bücherflohmarkt und -tausch in der JUGHH

Beim Treffen im Februar hatte ich es kurz angesprochen: Es kam vor einiger Zeit die Idee, Fachliteratur untereinander weiterzugeben. Jeder von uns hat etliches an Fachliteratur gelesen. Und das ein oder andere Werk hat seinen Platz im heimischen Bücherregal. Oder im Keller. Jedenfalls könnt ihr, wenn ihr wollt, die Fachbücher, die ihr nicht mehr benötigt, beim nächsten Mal mitbringen und kostenlos an andere JUGHHler weitergeben. Ich würde vorschlagen, dass alle, die etwas abzugeben haben, zu Beginn die Bücher auf einen Tisch legen und am Ende des Vortrages kann man dann wühlen und mitnehmen. Wer Bücher tauschen möchte und/oder nur zeitweise abgeben möchte, kann das natürlich auch tun. Jedoch obliegt die Verwaltung dann dem Einzelnen ;o)