How to Learn
All the Scala tutorials I encountered assume that you are a Java programmer. This is unfortunate because, as I've shown above, Scala could be taught as a first language in a much less-confusing way than we are forced to teach Java. But it does make it easier for writers to assume that you know how to program, and in Java.
I found Daniel Spiewak's series of blog posts titled Scala for Java Refugees to be a very helpful starting point.
Next, I read Programming in Scala, 2nd Edition by Martin Odersky, Lex Spoon, and Bill Venners. Odersky is the creator of the language so this is the authoritative book to read. It definitely assumes you're a Java programmer and it's not a particularly introductory book but it's worth pushing through to give you a fuller perspective on what Scala can do.
The Scala language website has a nice set of free tutorials which I've been finding very useful.
I've also looked for different views by reading other books, for example Programming Scala by Venkat Subramaniam. Although this one definitely suffers from too much cleverness (in the first chapter he gives a very obtuse example, then tells you not to worry about it, then says to study and understand it) and should certainly not be your first book, I found the different perspective to be helpful.
After reading those, I took the Stairway to Scala workshop by Bill Venners (coauthor of Programming in Scala) and Dick Wall (leader of the Java Posse) in Ann Arbor in May. There's one coming up August 8-12 in San Francisco; you can find out more and register here: http://www.artima.com/shop/stairway_to_scala. This is not an especially introductory class; you should have programming experience -- ideally in Java, because that's what they refer to most -- and I strongly recommend reading Programming in Scala beforehand, and other books if you can manage it -- even if you don't understand it in depth, exposing your brain early will allow some concepts to become more comfortable. It made a huge difference for me to do as much study as I did before the seminar.
There are also three different "tents" at the "Scala Campsite" during the Programming Summer Camp.
There are language features that I have only touched on here, or not covered at all. What I've shown should either give you the urge to learn and use Scala, or it will have you running back to the safety of your favorite language.
http://www.artima.com/weblogs/viewpost.jsp?thread=328540
分享到:
相关推荐
本篇文章主要面向有一定Java开发经验的程序员,旨在帮助他们入门Scala。 ### 1. Scala简介 Scala是由Martin Odersky设计的一种静态类型的编程语言,它的名字来源于"Scalable Language"的缩写,表明它能够从小规模...
《快学Scala》从实用角度出发,给出了一份快速的、基于代码的入门指南。Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,...
《快学Scala》从实用角度出发,给出了一份快速的、基于代码的入门指南。Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,...
花了5元订制的快学Scala pdf电子书! Scala是一门以Java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程语言的最佳特性结合在一起的编程语言。你可以使用Scala编写出更加精简的程序,同时充分利用并发的威力...
Scala是一门以Java虚拟机(JVM)为目标运行环境并将面向对象和...Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,全程指导。
《快学Scala》从实用角度出发,给出了一份快速的、基于代码的入门指南。Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,...
Scala是一门以Java虚拟机(JVM)为目标运行环境并将面向对象和...Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,全程指导。
Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,全程指导。适合有一定的Java编程经验、对Scala感兴趣,并希望尽快掌握Scala...
Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,全程指导。 本书适合有一定的Java编程经验、对Scala感兴趣,并希望尽快...
Scala是一门以Java虚拟机(JVM)为目标运行环境并将面向对象和...Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,全程指导。
它不仅适合初学者入门,也适合有经验的数据科学家和技术人员深入了解Scala在数据科学领域的应用。通过本书的学习,读者将能够掌握利用Scala构建高效、可扩展的数据科学应用程序所需的关键技能。
快学Scala(第2版)从实用角度出发,给出了一份快速的、基于代码的入门指南。Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,...
Scala是一门以Java虚拟机(JVM)为目标运行环境并将面向对象和...Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,全程指导。
Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,全程指导。 本书适合有一定的Java编程经验、对Scala感兴趣,并希望尽快...
Scala是一门以Java虚拟机(JVM)为目标运行环境并将面向对象和...Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,全程指导。
标题中提到的“Getting Started with SBT for Scala”直接指出了文章的主题内容,即为使用SBT作为Scala项目的入门指导。SBT是Scala的构建工具(Build Tool),其全称是Simple Build Tool,主要用于Scala和Java项目的...
入门:使用Slick + PostgreSQL或MySQL的Scala SQL DB访问 该存储库包含用于使用连接到SQL数据库的演示代码。 这是对DB访问的一种极简主义的尝试,以演示开始建立代码库的基本要点。 您可以在我的博客文章中了解...
总结,这个项目提供了一个 Akka 入门的实践平台,涵盖了从基础的 Actor 模型到构建工具的使用,再到 Java 和 Scala 语言的结合实践。通过这个项目,开发者不仅可以学习 Akka 的核心概念,还能了解到如何在实际项目中...
### Akka 学习入门实践知识点详解 #### 一、Akka 概述 - **定义**:Akka 是一个用于构建高度并发、分布式、容错性应用的工具包,适用于 Java 和 Scala 开发者。它基于 Actor 模型,支持响应式编程范式。 - **目标**...