怎样最高效地学习Scala
2016-06-16 17:00
267 查看
怎样最高效地学习Scala
作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs经常有人问应该怎样学习Scala编程语言。通常的回答是看Scala的相关书籍,并学习Scala视频课程。但是澄清一点,即使你最终学会了Scala编程,也并不意味着你是最高效地掌握了Scala。
1、Scala书籍
一提Scala编程书籍,最容易提到的是《Programming in Scala》,这本书是由Martin Odersky、Lex Spoon、Bill Venners三位作者合写的书籍。其中,Martin Odersky是Scala语言的发明人。最近该书发布了第三版,内容覆盖了Scala 2.12版的新特性,但是在内容上和第一版差别不大。尽管如此,这本书可能是有关Scala编程的最全面、最权威的指导书籍。在这本书中,Martin不仅讲述了该如何使用,而且还有他在语言上会这么设计的解释。这本书接近900页,阅读不算难,建议三周学完它。这本书主要聚焦于Scala的语言特性,并没有深入到Scala的整个生态系统中。2、学习函数式编程
在国外的Coursera在线教育网站,有一门非常受欢迎的课程,那就是“Functional Programming Principles in Scala”。有很多Scala的过来人都把这门课程介绍给Scala的初学者。但是我不推荐学习这门视频课程,如果你想使用Scala来做实际开发,那么学习这门视频课程会很低效。你最终会耗费大量的时间和精力来学习,而且获得的实践经验会很少。我的这个判断同样适合Manning出版社的《Functional Programming in Scala》书籍。这同样适用于这本书“Scala中的函数编程”。这本书是非常优秀的计算机教科书之一,但它不是优秀的Scala学习书籍。
在我看来,在学习Scala时聚焦于函数式编程有些过了。如果你想使用Scala语言做一些实际的开发,没有必要把项目开发的理论都弄清楚。把精力集中到学习基本的功能特性,比如模式匹配,这样的学习会从一开始就更有效率。
3、把掌握框架作为学习过程的一部分
我注意到很多入门书籍都很少谈及库和框架。而且,采用优秀的框架(比如Play),会有助于深入语言的学习,而且可以立即开始使用它。事实上,基于Play框架开发Scala的Web应用程序,可以很自然地学习到Scala的语言特性和功能特征,也容易产生第一手的理解,为什么Scala如此有用。4、现代Web开发与Scala的书籍封面
这本书《Moder Web Development with Scala》就是基于以上观点编写的Scala学习书籍。作者Denis Kalinin。该书少量介绍了Scala语言本身,主要聚焦于怎样使用Play框架构建Web应用,使用ScalikeJDBC库访问数据库,使用Scala Future和Akka Actor执行异步任务,使用MacWire连接依赖,使用BCrypt库实现对用户的授权认证,使用ScalaTest和Mockito测试自己的Scala代码,还有使用Gradle和SBT构建和管理项目,最后讲述了怎样集成最新的前端工具,比如Webpack和React。
写在最后
我新建了一个微信个人公众号,博客的信息也会在公众号同步更新。关注随意。相关文章推荐
- gprof之线程分析
- 编译安装php-5.3.27
- Python3.4 列表list增删查笔记
- 飞控信号SBUS信号解析为PWM信号输出
- 解决 app:transformClassesWithDexForDebug 错误
- MySQL索引原理及慢查询优化
- Python *与** 参数问题
- 查看所有系统环境变量
- 【偶然问题】将压缩文件从Windows拖拽到虚拟机中后无法正常解压的问题
- citirx for wincor configuration (citrix 7.5 setup with WI)
- pipework安装 及分配容器固定IP
- scala 构造器
- hosts文件详细介绍(值得一看)
- apache httpclient 4.5 的简单实用
- mysql谓语无法进行安全推进
- iOS开发之Xcode的静态分析(Static Code Analysis)与常见问题解决
- Python 小练习 Pig Latin
- [OpenStack]架构和基本概念
- JavaScript
- scrollview技巧