!!Scala Programmierung

Scala vereint objektorientierte und funktionale Programmierung in einer statisch typisierten Programmiersprache.

ScalaNews

! Tutorials:


* http://www.scala-lang.org/docu/files/ScalaOverview.pdf - ein erster Überblick
* http://www.scala-lang.org/docu/files/ScalaByExample.pdf -> freies E-Book (PDF) vom Scala Schöpfer Martin Odersky (03.12.2013)
* http://jr-thies.de/index.php/2009/07/30/tutorial-erste-gui-anwendungen-mit-scala - Kurz und gut: Getting your feets wet with Scala and Gui-Programming
* http://hestia.typepad.com/flatlander/2009/01/scala-for-c-programmers-part-1-mixins-and-traits.html - brauchbare Einführung, auch für MS-Kritiker ([Teil2|http://hestia.typepad.com/flatlander/2009/01/scala-for-c-programmers-part-2-singletons.html] [Teil3|http://hestia.typepad.com/flatlander/2009/01/scala-for-c-programmers-part-3-pass-by-name.html] [Teil4|http://hestia.typepad.com/flatlander/2009/02/scala-for-c-programmers-part-4-multiple-return-values.html] [Teil5|http://hestia.typepad.com/flatlander/2009/03/scala-for-c-programmers-part-5-implicits.html] [Teil6|http://hestia.typepad.com/flatlander/2009/03/scala-for-c-programmers-part-6-infix-operators.html])

! Blick über den Tellerrand:
* Um die funktionale Denke bei Scala zu trainieren und besser zu verstehen empfehle ich momentan ein eigensinniges Tutorial zum ebenfalls funktionalen Haskell:
http://learnyouahaskell.com/chapters

! Welche Quellen eignen sich zum Scala-Lernen?

* Twitter's [Scala School|http://twitter.github.com/scala_school/]
* Programming Scala [OFPS|http://ofps.oreilly.com/titles/9780596155957/]
* Programming in Scala (1st edition from Artima) [pins1ed|http://www.artima.com/pins1ed/]
* Understand pattern matching and scala.Option, but are having some trouble with `map`, `orElse`, `getOrElse` and others?\\ Check out [this cheat sheet|http://blog.tmorris.net/posts/scalaoption-cheat-sheet/].

Quelle: https://github.com/MoeOrganization/moe/blob/master/FAQ.md


! empirische Studie zum Vorteil Scala vs. Java (06.11.2012)

* http://www.neverworkintheory.org/?p=375
Auszug:

 The results? First, it took participants longer to solve the problem in Scala than in Java 
 (median times were 6 56 hours and 43 hours respectively). 
 What was really interesting was that programmer skill (as measured by a pre-test) 
 did not have a significant influence on testing and debugging time, 
 which suggests that the difference was not skill-based. 
 One hypothesis (based on interviews) is that Scala’s automatic type inference 
 actually made debugging more difficult."

* ein Lehrbuch __"Programming Scala: Tackle Multi-Core Complexity on the Java Virtual Machine"__ von Venkat Subramaniam (pragmatic bookshelf 2009, 250 Seiten) zu Scala steht hier zum Download bereit: \\
http://it-ebooks.info/go.php?id=61-1361881667-bf69d4bf18e84ee8d672630379ae8961 \\
Rezension aus München bei Amazon:

{{{
"Ein tolles Buch für den Einstieg/Umstieg von Java nach Scala. 
Das Buch ist für Java Entwickler geschrieben, die Scala benutzen wollen, 
um schneller, eleganter und somit bug-freier zu gutem Code zu kommen. 
Ein eigenes Kapitel zeigt, wie man Scala Code in Java Code einbindet und 
somit die beiden Sprachen gemeinsam nutzt. 
Es wird immer wieder auf die Fallstricke eingegangen, in die man sich dabei verheddern kann.
Eine neue Sprache zu lernen stellt immer ein Hürde dar. 
Meiner Erfahrung nach helfen dicke Wälzer nicht bei diesem Problem. 
Das schmale Buch zeigt die wesentlichen Unterschiede zu Java an vielen Beispielen.
Ich habe das Buch nun an drei Tagen durchgearbeitet und freue mich auf mein erstes Scala Projekt, 
das wahrscheinlich ein Java Projekt sein wird, in das einige Scala Teile einfließen."
}}}

oder:

{{{Ich habe das Buch im Rahmen einer Scala Schulung bekommen und war sehr positiv überrascht. 
Der Autor versteht es gut den Leser sehr schnell an die Sprache heranzuführen. 
Es ist absolut kein akademisches Buch, sondern eher locker geschrieben und sehr gut verständlich. 
Wer die Beispiele nachvollzieht, wird sehr schnell zu guten Ergebnissen kommen. 
Wer Scala lernen will, sollte zu diesem Buch greifen und das Buch von 
Prof. Odersky ([Programming in Scala[1]) als Nachschlagewerk nutzen, 
da es einen akademischen Ansatz wählt, dabei aber sehr umfassend ist. }}}

[1] [Odersky: "Programming in Scala"|http://www.artima.com/shop/programming_in_scala_2ed] 

[{Tag Java ScalaProgrammierung}]