2
Österreich 8,60 Schweiz sFr 15,80 Deutschland 7,50 8.09 D 45 86 7 Plus CD! Alle CD-Infos 3 Java Architekturen SOA Agile Java Magazin Stellenmarkt S. 62 Das Tutorial: Lose Kopplung mit Mule S. 71 CD-Inhalt Apache Commons Compress Grails 1.1.1 Spring dm 1.2 Project Mojarra Scala 2.7.5 Mule 2.2.1 Java Magazin 8.2009 JSF 2.0 Spring dm Meta Programming System ScalaModules Grails Garbage Collector Java Core OSGi on Scala DSLs mit ScalaModules 18 XML vs. Annotations Sind Annotations die erhoffte Rettung? 37 Tools Java-Spracherweiterung mit JetBrains MPS Effizient DSLs erstellen 78 Enterprise Garbage Collector Das unbekannte Wesen 65 Quo vadis JSF? Interview mit Ed Burns 52 Grails in Action Erfahrungsbericht: WerKannWann.de 56 OSGi mit Spring dm Viele Köche verderben (nicht) den Brei 24 Die nächste Generation der Webentwicklung 42 Ed Burns: Secrets of the Rockstar Programmers Session von der JAX 2009 ALLE INFOS ZUR AB SEITE 29 www.javamagazin.de

JM 08/09 - Beginning Scala Review

Embed Size (px)

DESCRIPTION

Review of David Pollak's "Beginning Scala" in German Java Magazin.

Citation preview

Page 1: JM 08/09 - Beginning Scala Review

Österreich € 8,60 Schweiz sFr 15,80Deutschland € 7,508.09

D 45 86 7

Plus CD!

Alle CD-Infos 3

Java • Architekturen • SOA • AgileJava

Mag

azin

Stellenmarkt S. 62 Das Tutorial: Lose Kopplung mit Mule S. 71

CD-Inhalt Apache Commons Compress

Grails 1.1.1

Spring dm 1.2

Project Mojarra

Scala 2.7.5

Mule 2.2.1

Java Magazin 8.2009

JSF 2.0 • Spring dm • M

eta Programm

ing System • ScalaM

odules • Grails • G

arbage Collector

Java CoreOSGi on ScalaDSLs mit ScalaModules 18

XML vs. AnnotationsSind Annotations die erhoffte Rettung? 37

ToolsJava-Spracherweiterung mit JetBrains MPSEffizient DSLs erstellen 78

EnterpriseGarbage CollectorDas unbekannte Wesen 65

Quo vadis JSF? Interview mit Ed Burns 52

Grails in ActionErfahrungsbericht: WerKannWann.de 56

OSGi mit Spring dmViele Köche verderben (nicht) den Brei 24

Quo vadis JSF? Interview mit Ed Burns

Die nächste Generation der Webentwicklung 42Die nächste Generation der Die nächste Generation der Die nächste Generation der Die nächste Generation der Die nächste Generation der Die nächste Generation der Die nächste Generation der Die nächste Generation der Die nächste Generation der Die nächste Generation der Die nächste Generation der Die nächste Generation der Die nächste Generation der Die nächste Generation der Die nächste Generation der Die nächste Generation der Ed Burns:

Secrets of the Rockstar Programmers

Session von der JAX 2009

ALLE INFOS ZUR

AB SEITE 29

www.javamagazin.de

EUROPEAN HEADQUARTERS - LANGEN, GERMANY

LIFERAY GMBH — ROBERT - BOSCH - STRASSE 11, 63225 LANGEN, GERMANY

TEL: +49 - (0) 6103 - 3018570 FAX: +49 - (0) 6103 - 3018571

Now get the best of both worlds.Liferay Enterprise Edition gives you all the benefits of open source with the stability, security, and reliability of an enterprise subscription.

And with version 5.1, get the latest in SOA, Social Networking, and Collaboration technology, all at a fraction of the cost of Oracle® or IBM®.

For more information, email us at [email protected].

You spoke. We listened. Introducing Liferay Enterprise Edition.

Liferay 5.1 Enterprise Edition

Maintenance Subscription2.950 EUR / server / year

Platinum Support (24x7)19.950 EUR / server / year

Compare Oracle® WebCenter Suite: 125.000 EUR / processor, support 27.500 EUR / yr, as of 6 / 2008

Page 2: JM 08/09 - Beginning Scala Review

Magazin

www.JAXenter.de

Bücher

Gleich nachdem „Beginnig Scala“ von David Pollak veröffentlicht wurde, lud ich mir das druckfrische eBook herunter. Der Autor ist Vater des innovativen Lift-Webframeworks und prägt die Scala Community maßgeblich. Da ich David persönlich kenne und seine anschauliche Art zu

erklären sehr schätze, hatte ich hohe Erwartungen. Soviel vorweg: Sie wurden voll und ganz erfüllt.Das Buch beginnt mit einer sehr gelungenen Motivation: „Wa-rum Scala?“ beantwortet David Pollak mit einem Abriss seiner Programmiererfahrungen mit C/C++, Java und Ruby/Rails. Wie erwartet, fiel mir sofort der lockere Schreibstil auf, ganz auf persönliche Ansprache ausgerichtet. Ein Auszug mit Botschaft: „Let's go and have some fun“. Es folgen typische erste Gehver-suche unter Anleitung, natürlich das obligatorische „Hello World“ sowie ein etwas anspruchsvolleres Programm, das einige der Besonderheiten von Scala zeigt. Für mich ist es gut dosiert, so-dass Lust auf Mehr aufkommt und kein Frust über zu viel Neues. Anschließend eine – Originalzitat – „long and boring tour“ durch die Skala-Syntax und grundlegende Konzepte. Aufgrund der sehr hohen Beispieldichte und der Konzentration auf das Wesentliche aus meiner Sicht, ist es aber recht kurzweilig und wiederum gut dosiert. Das darauffolgende Kapitel beginnt mit einem Plädo-yer für Immutable Objects und deren Vorteile in Bezug auf Per-formance und Concurrency. Dann wird anhand der mächtigen Collection-Bibliothek die funktionale Programmierung vor- und imperativem Java-Code gegenübergestellt: Sehr überzeugend! Scalas mächtiger XML-Support befindet sich aufgrund seiner 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, 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

einem Chat-Server und Transaktionen auf Basis von Actors: Sehr aufschlussreich.Bisher betrachtete der Autor die Scala-Welt mit der Brille des Library Consumers, für den es darum geht, die Einfachheit von Scala und den Komfort mächtiger Libraries zu nutzen, um sehr produktiv Anwendungscode zu schreiben. In den nächsten zwei Kapiteln setzt David Pollak die Brille des Library Producers auf, der die Mächtigkeit von Scala nutzt, um Libraries und Domain Specific Languages zu erstellen. Dabei werden fortschrittliche Features wie Implicit Conversions, Mixins mit Traits, Variance, Par-ser Combinators etc. unter die Lupe genommen. Überwiegend sind auch diese Kapitel sehr gelungen, einzig das Beispiel der Persistenzschicht fällt zu komplex aus.Das Buch endet mit dem Kapitel „Scaling Your Team“, das or-ganisatorische Fragen und Soft Facts anspricht: Welche Tools? Scala und mein Projektteam? Welche Best Practices? Und be-sonders interessant: Wie kann ich Scala in meinem Unternehmen verkaufen?Fazit: Das Buch ist nicht nur empfehlenswert, sondern ein abso-lutes Muss für alle Scala-Interessierten. Es ist inhaltlich gelungen und bringt alle wichtigen Grundlagen. Darüber hinaus glänzt es aus didaktischer Sicht: Immer genügend Tiefe, um das Interesse zu wecken, aber stets so anschaulich, um „dabei bleiben“ zu kön-nen. Für mich ist „Beginning Scala“ eines der besten IT-Fachbü-cher, das ich je in den Händen hielt. Viel Spaß beim Lesen!

Heiko Seeberger

Beginning ScalaDavid Pollak

David Pollak Beginning Scala 350 Seiten 24,95 Euro Apress 2009 ISBN 978-1430219897

Anzeige