怎样最高效地学习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。
写在最后
我新建了一个微信个人公众号,博客的信息也会在公众号同步更新。关注随意。
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow