Xu Wenhao

View on GitHub
4 February 2014

学习Scala小记

by Xu Wenhao

今年有一个计划就是在工作上推动用Scala慢慢替代掉Java的代码,以增加团队的生产力和乐趣。

所以春节,花了大概5–6天时间,看了一遍,为了实际感受一下语法,基本上把书里的代码都自己敲了一遍,花了不少时间。

应该说Scala是一门有自己特色的语言。traits和函数是一等公民两个特点有大量的动态语言也都支持,所以算不上太大的特点。而静态类型,类型推导和隐式转化也许对写语言和编译器的人来说很有价值,但是对于利用Scala来写应用的工程师来说,只算做简化的语法糖,很不错但是也没有什么新鲜的。然而模式匹配和以及Actor算是Scala特有的核心的特点,也基本上道出了这门语言设计的目的 — — — — 尽量利用消息传递作为模块之间的沟通机制,使得多线程编程以及异步编程不再是库一级的功能而是语言一级的功能,非常吸引人。而这个独特的特点,加上前面的种种虽然常见,但是Java中缺失的语言特性,让你不得不承认他是替代“新时代的汇编语言”Java的最佳人选了。

最后这本书我不太推荐,一方面是有些过时了,不少代码在Scala 2.10下都编译不过,另一方面是Scala最重要的语言特性Actor这部分,一个是官方库也已经换成Akka的了,另一方面是这本书本身对于这个特性也讲得不够好。国内Scala圈的大拿@laogao推荐的是[<快学Scala>](http://book.douban.com/subject/19971952/)以及[The Neophyte’s Guide to Scala](https://leanpub.com/theneophytesguidetoscala)。后者很有意思,自出版物,虽然有指导价,但是花多少钱买你随意,不知道作者实际收到了多少钱。

tags: