Donnerstag, 24. Mai 2012


Buch-Tipp

Durchstarten mit Scala

(Link zum Artikel: http://www.entwickler.de/jaxenter//000881)
  • Autor/in: Heiko Seeberger und Roman Roelofsen
  • Verlag: entwickler.press
  • Seiten: 200
  • erschienen: Mai 2011
  • Preis: 24,90 € / 25,60 € (A) / 44.90 CHF
  • ISBN: 978-3-86802-064-9

Stefan Zörner fragte während einer Podiumsdiskussion zu aktuellen Trends in Java im Rahmen der letzten "Berlin Expert Days", ob ein Entwickler über 40 Jahren mit Blick auf die vermeintliche Komplexität schon zu alt sei für Scala. Hier hatte er meine (Ü40) erste, schon vor einigen Jahren gebildete Meinung bezüglich Scala in wenigen Worten zusammen gefasst.

Umso interessanter erschien mir daher die aktuelle Publikation von Heiko Seeberger, der bereits einen sehr großen Beitrag zur Verbreitung von Scala in Deutschland geleistet hat, und seinem Co-Autor Roman Roelofsen. Diese Buch richtet sich in erster Linie an Scala-Interessierte mit Java-Kenntnissen, die gebündelt und schnell die wesentlichen Konstrukte und Eigenschaften dieser Sprache praxisnah erlernen möchten.

Im ersten Kapitel widmen sich die Autoren der Fragestellung, worum es sich bei Scala handelt und warum der Einsatz von Scala lohnenswert ist. Neben einer Abgrenzung zu Java findet auch eine Abgrenzung zu den anderen JVM-Sprachen Groovy und JRuby statt. Dieses Kapitel fällt kurz und bündig aus, so dass der Leser in den folgenden zwei Kapiteln schnell in die Praxis eingeführt wird, indem der Aufbau einer einfachen, den Anforderungen der Buch-Beispiele genügenden Entwicklungsumgebung beschrieben wird. Als IDE geben die Autoren IntelliJ IDEA gegenüber Eclipse den Vorzug – angesichts der Probleme des Scala 2.8 Plug-ins für Eclipse eine Empfehlung, die befolgt werden sollte. (Die aktuelle Beta-Version des Plug-ins für Eclipse [1] zeichnet sich durch wesentliche Verbesserungen aus, so dass tatsächlich auch ein Einsatz möglich ist und die Beispiele unter Eclipse nachvollzogen werden könnten.

Die nächsten Schritte führen den Leser in die Benutzung der REPL („Read-Evaluate-Print Loop“) und die ersten Sprachkonstrukte wie val, var und Funktionen ein. Auch dieses Kapitel ist erfreulicherweise recht kurz gehalten, und die weiteren Sprachelemente werden dem Leser anhand eines durchgehenden Projektes („ScalaTrain“) Schritt für Schritt näher gebracht.

Hierbei werden alle wesentlich wichtigen Konstrukte anhand des Beispiel-Projektes näher erläutert. Einiges bleibt außen vor, wie z.B. Aktoren, die aber meiner Meinung nach auch den Rahmen des Buches sprengen würden. Viel Interessanter ist, dass es die Autoren schaffen, auf wesentliche konzeptionelle Unterschiede zwischen Java und Scala einzugehen und diese verständlich anhand von gut gewählten Beispielen dem Leser näher zu bringen. So widmen die Autoren dezidierte Kapitel beispielsweise den Themen „Funktionale Programmierung“, „Pattern Matching“ und „Implicits“. Während das Sprach-Feature des „Pattern Matchings“ für viele Java-Entwickler eher als eine Erweiterung des bisher Bekannten vorkommen dürfte, stellen die „Implicits“ nicht unbedingt eine Hürde, aber doch ein mächtiges Sprach-Feature dar, das erst verstanden werden muss. Dieses Kapitel fällt für meinen Geschmack schon fast zu kurz aus und zerteilt sich etwas durch Einschübe von verwandten Themen wie Currying. Etwas mehr wäre hier nicht schlecht gewesen, wenn dies auch ein wenig mehr Theorie bedeutet hätte. Umso besser hat es mir gefallen, dass auch praxisnahe Themen wie Testen näher erläutert werden. Die Autoren haben hier dem Scala-Framework specs den Vorzug gegeben und führen den Leser gut in dieses für einen Java-Entwickler eher ungewohnte Testframework ein.

Abschließend führen die Autoren den Leser kurz in die Entwicklung von Web-Applikationen mit Lift ein, um die Webseiten zu der Beispielapplikation zu gestalten. Der Quelltext des Beispiel-Projektes steht im Übrigen über github [2] zur Verfügung, die einzelnen Schritte können dort ebenfalls nachvollzogen werden.

Alles in allem liefern die Autoren ein kompaktes Buch ab, mit dem ein schnelles und vor allem zielgerichtetes Erlernen wesentlicher Aspekte von Scala in Form eines Workshops ermöglicht wird. Die Autoren verlieren sich dabei nicht in unendlichen Essays über die Vor- und Nachteile bestimmter Konzepte oder der ausufernden Darstellung von theoretischen Grundlagen, sondern bringen alles kurz und prägnant auf den Punkt. Das Werk erhebt dabei ausdrücklich den Anspruch, keine Referenz darzustellen und hebt sich dadurch wohltuend von den bisherigen Buch-Publikationen zu Scala ab.

Insgesamt eine lohnende Buchlektüre, die auch für Ü40 geeignet ist.

Links & Literatur

von Dr. Halil-Cem Gürsoy

Kommentare

Gravatar Carlo LF 26.05.2011
um 08:47 Uhr
"auch für Ü40" ?!? Das diese Fragestellung ÜBERHAUPT als Thema ernst genommen wird (von wem wohl?), zeigt das erbärmliche Niveau der vermeintlichen Diskussion. Ich weiß nicht wie alt Zörner ist (und es interessiert mich auch gar nicht). Ich weiß allerdings, wie alt unsere echten Gurus, wie z.B. J.Gosling oder J.Blosh, sind . Auch M. Odersky hat die 40 längst überschritten - was wiederum beweist, dass man in diesem Alter noch sehr, sehr kreativ sein kann.
Kurz: Alter behindert nicht! Hinter diesem lächerlichen Mythos steckt etwas ganz anderes. Es ist die Tatsache, dass viele (die meisten) Entwickler irgendwann auf die Karriereleiter springen, und ab einem gewissen Alter vom Entwickler zum Projektleiter / Manager mutieren. Und damit entfernen sie sich schleichend von dem, was wir immer noch machen, und haben dann irgendwann in der Tat keine Ahnung mehr, was sich technologisch bei Java, Scala, in den Frameworks, usw. alles so in den letzten Jahren getan hat.
#zitieren
Gravatar Stephan 26.05.2011
um 14:33 Uhr
Was bitte soll dieser dumpfe Unsinn mit Ü40? Tut mir leid, aber das ist schon nahezu bodenlos vom Nivea her.

Was ist das nächste? Ob Programmiersprachen und Bücher darüber auch für Frauen oder andere Randgruppengeeignet sind?
#zitieren
Gravatar Gustav 27.05.2011
um 12:05 Uhr
@Stephan: Nein, Frauen können so wie so nicht mehr programmieren als Küchengeräte. Und Inder erst... #zitieren
Gravatar Alice 27.05.2011
um 14:19 Uhr
@Gustav Das durfen Sie aber nicht schreiben. Die Autorin dieses Beitrages steckt offensichtlich in einer tiefen Lebenskriese. Jeder Blick in den Spiegel wird schonungslos mit einem "Ü40" beantwortet. Und nun fragt sich diese tapfere Frau: "Was soll ich tun?" Und sie findet eine positive Antwort. Eine ungewöhnliche, eine mutige Antwort. Sie greift zu einem Buch. Einem kompakten - wie sie selbst ganz richtig erkennt - Buch. Der Inhalt bleibt ihr unverständlich. Aber trotzdem macht sie uns Mut. Uns und den Autor/in.

Und vergessen wir nicht: Wer sein Leben nicht rechtzeitig beendet, der kann selbst einmal Ü10, Ü20, Ü30 oder sogar Ü40 werden.
#zitieren
Gravatar Samuel 30.05.2011
um 18:35 Uhr
Hmm ich weiss nicht ob es Wert ist diese kleinen Bücher zu holen !?
Was kann man denn in 200 Seiten schon beschreiben ? "Durchstarten" ist das für mich nicht - eher "kurz mal vorbeischauen". Wenn man was mit Scala machen will, sollte man das Standatrwerk von Martin Odersky nehmen oder was ich auf Deutsch empfehlen kann: Scala für Umsteiger von Friedrich Esser. Ich habe auch das Buch von O.Braun gelesen und dort gibt es auch Paar zusätzliche Infos die man mitnehmen kann. Für Lift gibt es jetzt auch ein Buch mit dem ich grad anfange Von Thomas Fiedler und Christoph Knabe.
Lothar Piepmeyer kann ich auch empfehlen.
Naja wenn man weitere Beispiele sehen will.
#zitieren
Gravatar Carlo LF 31.05.2011
um 08:43 Uhr
@Samuel:
Das artet ja in ein richtiges Semesterstudium aus! Ok, vielleicht bist du Student und hast die Zeit dazu.
Scherz beiseite; aber in der Tat: wie machen das eigentlich richtigen "Profis", die Vollzeit im Beruf stecken (und nicht an den Unis rumhängen, sondern wirtschaftlich kalkulierte Projekte machen)? Wer von uns hat die Zeit, um sich all dies reinzuziehen? Eine Frage von U30? Ok, das Odersky-Buch genügt eigentlich, wenn man nicht auch noch sich mit Lift beschäftigen will.
So, und wenn man das mittels seines privaten Budgets geschafft hat (die Firma zahlt das eh nicht), dann steht man immer noch vor der Situation:
- dass a) die meisten Projekten Wartungsprojekte sind, bei denen eine neue Programmiersprache gar nicht angesagt ist
und dass wenn man b) tatsächlich das Glück hat, bei einem Projekt die freie Wahl der Tools und Programmiersprache zu besitzen, man immer noch die Kollegen braucht, die da mitziehen...
#zitieren
Gravatar Trepper 31.05.2011
um 09:12 Uhr
@Carlo LF: Man sollte die gelesenen Büchern so im Büro auslegen, dass die Kollegen neugierig werden und man irgendwann mit ihnen zusammen ein neues Projekt mit Scala anfangen kann ;-)

Tja, ansonsten ist Scala für viele bisher auf den Hobby-Einsatz beschränkt, weil in Unternehmen die Uhren in dieser Hinsicht etwas langsamer gehen.
#zitieren
Gravatar Leser 31.05.2011
um 11:14 Uhr
@Carlo LF: Ich (Ü50) hatte da mal einen Chef, der leitete eine großen weltbekannten Laden. Von seinen engsten Mitarbeitern erwartete er, dass sie täglich mindestens sechs Stunden lesen.

@Dr. Halil-Cem Gürsoy: Wenn ich ihn heute besuche, dann merke ich sehr schnell, dass er auch mit Ü70 noch ALLES liest und versteht.

@Samuel Auch die kleinen Bücher.
#zitieren