Scala : Functional Java Programming - 2020
How Martin Odersky rewrote the rules of coding for a mobile world - Nov 28, 2012 from Gigaom
...
Scala works with Java and compiles in the JVM, which is significant because many, many of the world's enterprise applications are written in Java. It's not a stretch to say there are millions of Java programmers (Oracle, which now owns Java, claims 9 million.) With Scala these programmers can keep using their Java libraries, frameworks and the JVM while also taking advantage of functional programming, which tends to be less verbose than Java code.
...
Indeed.com's job post charts - the number of Scala job openings posted growing faster even than Ruby job postings late last year.
Scala is available @ Scala Distribution .
-
Martin Odersky's talk at OSCON 2011: Working Hard to Keep it Simple (slides)
-
Books:
- Structure and Interpretation of Computer Programs. Harold Abelson and Gerald J. Sussman. 2nd edition. MIT Press 1996. - [Full text available online].
-
Programming in Scala. Martin Odersky, Lex Spoon and Bill Venners. 2nd edition. Artima 2010. - [Full text of 1st edition available online].
Artima has graciously provided a 25% discount on the 2nd edition of Programming in Scala to all participants of this course. To receive the discount, simply visit http://www.artima.com/shop/programming_in_scala_2ed and during checkout, please use the coupon code: COURSERA-ODERSKY to have the discount applied.
- Scala for the Impatient. Cay Horstmann. Addison-Wesley 2012. - [First part available for download.]
- Scala in Depth. Joshua D. Suereth. Manning 2012. - [Available for purchase].
- Programming Scala. Dean Wampler and Alex Payne. O'Reilly 2008. [Online edition].
- Scala Standard Library API
- Scala School!: A Scala tutorial by Twitter
- A Tour of Scala: Tutorial indroducing the main concepts of Scala
- Scala Overview on StackOverflow: A list of useful questions sorted by topic
The Scala software distribution can be installed on any Unix-like or Windows system. It requires the Java runtime version 1.6 or later.
// HelloWorld.scala object HelloWorld { def main(args: Array[String]) { println("Hello, world!") } }
Compile:
$ scalac HelloWorld.scala
Run:
$ scala -classpath . HelloWorld $ Hello, world!
Ph.D. / Golden Gate Ave, San Francisco / Seoul National Univ / Carnegie Mellon / UC Berkeley / DevOps / Deep Learning / Visualization