Scala 课堂!

从 ∅ 到分布式服务

其他语言版本: English Русский

关于

Scala课堂是Twitter启动的一系列讲座,用来帮助有经验的工程师成为高效的Scala 程序员。Scala是一种相对较新的语言,但借鉴了许多熟悉的概念。因此,课程中的讲座假设听众知道这些概念,并展示了如何在Scala中使用它们。我们发现这是一个让新工程师能够快速上手的有效方法。网站里的是伴随这些讲座的书面材料,这些文字材料本身也是很有用的。

方法

我们认为最有意义的教学方式是,不要把Scala看做是改进的Java,而是把它作为一门新的语言。所以这里不会介绍Java的使用经验,而将聚焦在解释器和“对象-函数式”的风格,以及我们的编程风格。特别强调了可维护性,清晰的表达,和利用类型系统的优势。

大部分课程除了Scala的交互命令行之外不需要其他软件。我们鼓励读者按顺序学习,并且不仅限于此。让这些课程作为您探索Scala的起点吧!

另外

通过这些链接您可以了解更多:

课程

基础
值,函数,类,方法,继承,try-catch-finally。面向表达式编程
基础知识(续)
样本类,对象,包,应用,更新,函数即对象(统一访问原则),模式匹配。
集合
列表,映射,功能组合(map, foreach, filter, zip, folds)
模式匹配与函数组合
更多函数!偏函数,更多模式匹配
类型和多态基础
基本类型和类型多态性,类型推断,变性,边界,量化
高级类型
高级类型,视界,更高级多态性类型,递归类型,结构类型
简单构建工具
关于SBT——标准的Scala构建工具
更多的集合
Scala Collections库指南
使用specs测试
Scala 并发编程
Runnable, Callable, 线程, Futures
Java + Scala
Java跨平台交互:在Java中使用Scala
Finagle介绍
Finagle原语:Future, Service, Filter, Builder
Searchbird
利用Finagle构建一个分布式搜索引擎
Fork me on GitHub Built at @twitter by @stevej, @marius, and @lahosken with much help from @evanm, @sprsquish, @kevino, @zuercher, @timtrueman, @wickman, and @mccv; Russian translation by appigram; Chinese simple translation by jasonqu; Korean translation by enshahar;