Kundenrezension

5 von 5 Kunden fanden die folgende Rezension hilfreich
4.0 von 5 Sternen Kurzweilige Einführung in Groovy, mehr aber auch nicht!, 15. März 2011
Von 
Rezension bezieht sich auf: Programming Groovy: Dynamic Productivity for the Java Developer (Pragmatic Programmers) (Taschenbuch)
Um sich einen Überblick über Groovy zu verschaffen ist dieses Buch perfekt, denn es vermittelt die allermeisten Grundlagen, um sofort mit der Script-Sprache starten zu können - aber auch nicht mehr! Dieses Buch geht nicht in die Tiefe, sondern in die Breite, d.h. es werden viele Themen angerissen, damit man einen schnellen Überblick erhält, was mit Groovy alles machbar ist.
Einen wirklich sehr unterhaltsamen Einblick erhält man in Kapitel 3 - "Groovy for the Java Eyes". Einige Konzepte finde ich äußerst interessant, mit anderen dagegen bin ich weniger einverstanden, z.B. halte ich es nicht für sinnvoll, auf das Keyword return zu verzichten, da dies im Code für mehr Klarheit sorgt. Auch der Einsatz von def ist mitsamt der ganzen dynamischen Typisierung für Java-Entwickler zunächst etwas ungewohnt, entfaltet mit der Zeit aber durchaus seine Vorteile.
Danach folgen Closures, die ein faszinierendes Konzept darstellen, welches manchmal auch mit Vorsicht zu genießen ist. Speziell in diesem Kapitel habe ich ein Closures-Beispiel mit ein wenig Skepsis betrachtet. Dieses erinnerte mich nämlich an die vielen konstruierten Lehrbuchbeispiele aus den Design-Patterns-Büchern, die in der Theorie oftmals sehr beeindruckend aussehen, in die Praxis dann aber nicht ganz so einfach umsetzbar sind.
In diesen Beispielen (sowohl in den Design-Patterns-Büchern als auch bei den Closures) wird eine generische Klasse zur Laufzeit mit dynamischem Code versehen, wodurch die generische Klasse den Anschein erweckt, als hätte sie ihren Typ geändert. In den Lehrbuchbeispielen sieht das immer total cool aus, und als Entwickler denkt man sich: Das verwende ich in meinem nächsten Programm ebenfalls! Aber in der Praxis habe ich dann meistens das Problem, daß es bei mehreren Anwendungsfällen einfach nicht mehr ausreicht, der generischen Klasse an nur einer Stelle dynamischen Code zu "injizieren". Beim ersten Anwendungsfall klappt das noch super, beim zweiten Use-Case würde man schon an zwei Stellen was ändern, und beim dritten Fall müßte man dann schließlich noch neue Instanzvariablen benötigen und die eine oder andere Hilfsmethode einfügen, und schon sitzt man mittendrin im Schlamassel, denn ab jetzt wird es immer schwieriger, die Generizität der Klasse aufrechtzuerhalten, und man fängt an, die Klassenstruktur hoffnungslos zu verbiegen, bis man irgendwann selber nicht mehr durchblickt. Wartbar ist das Ganze dann kaum noch.
Darum gehe ich lieber dazu über, die generische Methode nicht generisch zu machen, sondern einfach so oft zu implementieren, wie ich Anwendungsfälle habe. Das ist zwar kein schönes Design, ich habe Code-Redundanzen und verstoße auch noch gegen das DRY-Prinzip (wenn das nur mal nicht mein Chef spitz kriegt), aber ich habe zumindestens einen wartbaren und leicht änderbaren Code, dessen Methoden sich definitiv nicht in die Quere kommen. Ändere ich einen der Anwendungsfälle ab, dann muß ich mir kein Kopfzerbrechen darüber machen, daß ich die anderen Anwendungsfälle dadurch in den Wind schieße. Das ist wirklich kein schönes Design, aber es läuft stabil und robust im Praxiseinsatz (sogar, wenn ich im Urlaub bin). Nichtsdestotrotz finde ich Closures genial, aber man muß sie mit Bedacht einsetzen. In dem Buch findet man noch den Ratschlag, Closures nicht länger als ein paar Zeilen zu machen. Das klingt sinnvoll. Daß Closures ziemlich am Anfang behandelt werden ist beabsichtigt, denn im weiteren Verlauf des Buches wird fast in jedem Kapitel mit Closures gearbeitet.
Es folgen angenehm zu lesende und leicht verständliche Abschnitte zur String-Verarbeitung unter Groovy, dem richtigen Umgang mit Collections, den Groovy-spezifischen Erweiterungen zu java.lang.Object, wie man XML-Dateien erzeugt bzw. parsed sowie der Arbeit mit Datenbanken. All dies ist absolut essentielles und unverzichtbares Wissen für jeden Groovy-Novizen.
Im dritten Teil des Buches geht es dagegen um ein sehr fortgeschrittenes Thema, denn es wird gezeigt, wie man zur Laufzeit den Quellcode seines Groovy-Scriptes ändern kann. Java-Reflection kann dagegen einpacken! Groovys Meta-Object Protokoll ist ziemlich mächtig, aber für Anfänger zunächst mal eher weniger geeignet. Der Schluß des Buches verliert sich leider in einer äußerst oberflächlichen Betrachtung von Groovy-Buildern und Domain-Specific Languages (DSLs). Das hat mir nicht mehr viel gebracht.
Wie schon am Beginn meiner Rezension erwähnt, ist dies eine Einführung in Groovy, mehr aber auch nicht. Für den Einsteiger ist das Buch erste Sahne, aber wer tiefer einsteigen will, muß entweder die offizielle Groovy-Doku downloaden oder das Buch von Dierk König kaufen. Ich für meinen Teil entscheide mich für das König-Buch und warte nur noch auf die Second Edition. Alles in allem ist "Programming Groovy" eine leichte Lektüre, die viel Spaß beim Lesen macht und die Lust am Programmieren weckt.
Helfen Sie anderen Kunden bei der Suche nach den hilfreichsten Rezensionen 
War diese Rezension für Sie hilfreich? Ja Nein

Schreiben Sie als erste Person zu dieser Rezension einen Kommentar.

[Kommentar hinzufügen]
Kommentar posten
Verwenden Sie zum Einfügen eines Produktlinks dieses Format: [[ASIN:ASIN Produkt-Name]] (Was ist das?)
Amazon wird diesen Namen mit allen Ihren Beiträgen, einschließlich Rezensionen und Diskussion-Postings, anzeigen. (Weitere Informationen)
Name:
Badge:
Dieses Abzeichen wird Ihnen zugeordnet und erscheint zusammen mit Ihrem Namen.
There was an error. Please try again.
">Hier finden Sie die kompletten Richtlinien.

Offizieller Kommentar

Als Vertreter dieses Produkt können Sie einen offiziellen Kommentar zu dieser Rezension veröffentlichen. Er wird unmittelbar unterhalb der Rezension angezeigt, wo immer diese angezeigt wird.   Weitere Informationen
Der folgende Name und das Abzeichen werden mit diesem Kommentar angezeigt:
Nach dem Anklicken der Schaltfläche "Übermitteln" werden Sie aufgefordert, Ihren öffentlichen Namen zu erstellen, der mit allen Ihren Beiträgen angezeigt wird.

Ist dies Ihr Produkt?

Wenn Sie der Autor, Künstler, Hersteller oder ein offizieller Vertreter dieses Produktes sind, können Sie einen offiziellen Kommentar zu dieser Rezension veröffentlichen. Er wird unmittelbar unterhalb der Rezension angezeigt, wo immer diese angezeigt wird.  Weitere Informationen
Ansonsten können Sie immer noch einen regulären Kommentar zu dieser Rezension veröffentlichen.

Ist dies Ihr Produkt?

Wenn Sie der Autor, Künstler, Hersteller oder ein offizieller Vertreter dieses Produktes sind, können Sie einen offiziellen Kommentar zu dieser Rezension veröffentlichen. Er wird unmittelbar unterhalb der Rezension angezeigt, wo immer diese angezeigt wird.   Weitere Informationen
 
Timeout des Systems

Wir waren konnten nicht überprüfen, ob Sie ein Repräsentant des Produkts sind. Bitte versuchen Sie es später erneut, oder versuchen Sie es jetzt erneut. Ansonsten können Sie einen regulären Kommentar veröffentlichen.

Da Sie zuvor einen offiziellen Kommentar veröffentlicht haben, wird dieser Kommentar im nachstehenden Kommentarbereich angezeigt. Sie haben auch die Möglichkeit, Ihren offiziellen Kommentar zu bearbeiten.   Weitere Informationen
Die maximale Anzahl offizieller Kommentare wurde veröffentlicht. Dieser Kommentar wird im nachstehenden Kommentarbereich angezeigt.   Weitere Informationen
Eingabe des Log-ins
 


Details

Artikel

4.3 von 5 Sternen (3 Kundenrezensionen)
5 Sterne:
 (1)
4 Sterne:
 (2)
3 Sterne:    (0)
2 Sterne:    (0)
1 Sterne:    (0)
 
 
 
Gebraucht & neu ab: EUR 4,42
Auf meinen Wunschzettel
Rezensentin / Rezensent


Ort: München

Top-Rezensenten Rang: 124.892