《快学Scala》读后感

近几年来基于JVM的脚本语言获得了长足的发展,Scala作为其中的佼佼者获得了越来越多的关注目光,甚至有的开发者认为Scala将会取代Java成为JVM平台上最重要的开发语言。对于以Java为主要开发语言的程序员来说,学习和了解Scala已是一门必不可少的功课。在未开始Scala的学习前,我们已经通过博客,微博或多或少的了解到Scala的特性:
1. 优雅,简洁的语法
2. 无缝的结合了命令式和函数式的编程风格
2. 对多线程程序的编写提供了良好的支持
3. 与Java现有类库的良好集成

面对如此诱惑,对于工作繁忙的我们如何来学习Scala呢?《快学Scala》给出了答案。
该书的作者Cay S. Horstmann同时还是《Java核心技术》的作者,其写作经验毋庸置疑。
在书中作者将章节按照专业知识技能的层次进行了定义,方便了不同目标的学习者阅读这本书。比如我只想快速了解一下Scala的基本概念和语法,那么只需要关心那些标注为A1的章节即可。

从试读的第一章中,作者从Scala解释器的使用开始讲起,我们立即可以通过解释器运行实际的Scala代码,这种边学习边动手的方式可以加深对所学知识的理解。从第一章讲述的内容中可以了解到Scala与Java基本概念的众多不同。最大的不同在于其变量或者函数的声明方式,变量和函数的类型总是在名称的后面;其次通过val和var对变量进行声明,Scala在向开发者强调在变量定义的时候就要想清楚这个变量在实际中是否可被修改;在Scala中任何“调用”都是方法,甚至连算数操作符号本质上也是方法调用。

在第二章中作者讲述了Scala的条件表达式,循环和函数。其中与Java最大的不同之处在与在Scala的世界中,所有语法结构都有值。为了讲清楚这个Scala特有的概念,作者详细讲述了条件表达式,块表达式是怎么返回值的。函数作为Scala函数式编程特性的基石,自然是重点,作者对函数的定义进行了详细的阐述,尤其是函数和过程的区别。在本章的最后讲述了Scala的异常处理机制,Scala与Java在异常处理最根本的差异在于Scala是没有“受检”异常。

第三章中介绍了数组的操作,在介绍中作者并没有枯燥的罗列API,除了举了很多例子来说明数组的操作外,作者讲述了何种操作的效率最高,这是作者开发经验的积累,十分宝贵。在本章的最后首次出现了和Java类库互操作的内容, 为我们展现了Scala数组是如何和Java数组进行转换的。

《快学Scala》清晰的讲述了Scala的概念和用法,尤其是难度的分类,使得通过本书学习Scala具有了鲜明的由浅入深的层次感。作者在讲述Scala的同时充分考虑到读者大部分都是来自Java的开发者,在书中对Java与Scala的不同处都做了详细的讲述,使得Java开发者能够更好的理解Scala。

猜你喜欢

转载自sailingcai.iteye.com/blog/1726178
今日推荐