W-JAX 08 - Declarative Services versus Spring Dynamic Modules
JM 08/09 - Beginning Scala Review
1. Plus CD! Stellenmarkt S. 62 Das Tutorial: Lose Kopplung mit Mule S. 71
8.09
Deutschland € 7,50 Österreich € 8,60 Schweiz sFr 15,80
Java Magazin
Java • Architekturen • SOA • Agile www.javamagazin.de ALLE IN
FOS ZU
R
CD-Inhalt AB SEIT
E 29
Apache Commons
Compress
Grails 1.1.1
Spring dm 1.2
Project Mojarra
Scala 2.7.5
Mule 2.2.1
Ed Burns:
Secrets of
Die nächste Generation der
Webentwicklung 42
the Rockstar
Programmers
Session von der
JAX 2009
Alle CD-Infos 3
Java Core
OSGi on Scala
DSLs mit ScalaModules 18
XML vs. Annotations
Sind Annotations die
erhoffte Rettung? 37
Tools Quo vadis JSF?
Java-Spracherweiterung
mit JetBrains MPS Interview mit Ed Burns 52
Effizient DSLs erstellen 78
Enterprise
Garbage Collector
Grails in Action
Das unbekannte Wesen 65 Erfahrungsbericht: WerKannWann.de 56
D 45 86 7
OSGi mit Spring dm
Viele Köche verderben (nicht) den Brei 24
2. Bücher Magazin
David Pollak
Beginning Scala
Gleich nachdem „Beginnig Scala“ von David einem Chat-Server und Transaktionen auf Basis von Actors: Sehr
Pollak veröffentlicht wurde, lud ich mir das aufschlussreich.
druckfrische eBook herunter. Der Autor ist Vater Bisher betrachtete der Autor die Scala-Welt mit der Brille des
des innovativen Lift-Webframeworks und prägt Library Consumers, für den es darum geht, die Einfachheit von
die Scala Community maßgeblich. Da ich David Scala und den Komfort mächtiger Libraries zu nutzen, um sehr
persönlich kenne und seine anschauliche Art zu produktiv Anwendungscode zu schreiben. In den nächsten zwei
erklären sehr schätze, hatte ich hohe Erwartungen. Soviel vorweg: Kapiteln setzt David Pollak die Brille des Library Producers auf,
Sie wurden voll und ganz erfüllt. der die Mächtigkeit von Scala nutzt, um Libraries und Domain
Das Buch beginnt mit einer sehr gelungenen Motivation: „Wa- Specific Languages zu erstellen. Dabei werden fortschrittliche
rum Scala?“ beantwortet David Pollak mit einem Abriss seiner Features wie Implicit Conversions, Mixins mit Traits, Variance, Par-
Programmiererfahrungen mit C/C++, Java und Ruby/Rails. ser Combinators etc. unter die Lupe genommen. Überwiegend
Wie erwartet, fiel mir sofort der lockere Schreibstil auf, ganz auf sind auch diese Kapitel sehr gelungen, einzig das Beispiel der
persönliche Ansprache ausgerichtet. Ein Auszug mit Botschaft: Persistenzschicht fällt zu komplex aus.
„Let's go and have some fun“. Es folgen typische erste Gehver- Das Buch endet mit dem Kapitel „Scaling Your Team“, das or-
suche unter Anleitung, natürlich das obligatorische „Hello World“ ganisatorische Fragen und Soft Facts anspricht: Welche Tools?
sowie ein etwas anspruchsvolleres Programm, das einige der Scala und mein Projektteam? Welche Best Practices? Und be-
Besonderheiten von Scala zeigt. Für mich ist es gut dosiert, so- sonders interessant: Wie kann ich Scala in meinem Unternehmen
dass Lust auf Mehr aufkommt und kein Frust über zu viel Neues. verkaufen?
Anschließend eine – Originalzitat – „long and boring tour“ durch Fazit: Das Buch ist nicht nur empfehlenswert, sondern ein abso-
die Skala-Syntax und grundlegende Konzepte. Aufgrund der sehr lutes Muss für alle Scala-Interessierten. Es ist inhaltlich gelungen
hohen Beispieldichte und der Konzentration auf das Wesentliche und bringt alle wichtigen Grundlagen. Darüber hinaus glänzt es
aus meiner Sicht, ist es aber recht kurzweilig und wiederum gut aus didaktischer Sicht: Immer genügend Tiefe, um das Interesse
dosiert. Das darauffolgende Kapitel beginnt mit einem Plädo- zu wecken, aber stets so anschaulich, um „dabei bleiben“ zu kön-
yer für Immutable Objects und deren Vorteile in Bezug auf Per- nen. Für mich ist „Beginning Scala“ eines der besten IT-Fachbü-
formance und Concurrency. Dann wird anhand der mächtigen cher, das ich je in den Händen hielt. Viel Spaß beim Lesen!
Collection-Bibliothek die funktionale Programmierung vor- und Heiko Seeberger
imperativem Java-Code gegenübergestellt: Sehr überzeugend! David Pollak Beginning Scala 350 Seiten 24,95 Euro
Scalas mächtiger XML-Support befindet sich aufgrund seiner Apress 2009 ISBN 978-1430219897
Nähe zu den Collections auch in diesem Kapitel und wird sehr
anschaulich dargestellt. Zu guter Letzt gibt es noch ein Beispiel
für Lock-freie Multi-Thread-Programmierung mittels Immutable
Objects.
Danach geht es um wesentliche Details der funktionalen Pro-
grammierung mit Scala, u. a. um Funktionen als „echte“ Objekte,
Partially Applied Functions etc. Besonders erhellend fand ich die
Beispiele für Call-by-Name-Parameter und das Erstellen eigener
Kontrollstrukturen. Spätestens jetzt werden die meisten Leser
das Buch beiseite legen, aber nicht, weil es ihnen missfällt, son-
dern weil sie soviel Enthusiasmus getankt haben, dass sie selbst
in die Tasten greifen müssen. Aber das Weiterlesen lohnt sich,
Anzeige
denn das nächste Kapitel bringt mit Pattern Matching vielleicht
DAS Scala-Feature schlechthin. Wiederum wird sehr anschaulich
erklärt, wie Scala objektorientierte Strukturierung und funktiona-
le Dekomposition höchst nutzbringend kombiniert. Dann kommt
Concurrency mit Actors, eine Scala-Paradedisziplin, sehr aus-
führlich an die Reihe. Ein Beispiel, bei dem das Listener Pattern
klassisch und mit Actors implementiert wird, zeigt die Vorteile
des asynchronen Actor Messaging: Synchronisierung ist nicht
erforderlich, um Fehler leichter zu vermeiden. Weiter geht es mit
www.JAXenter.de