在读完新买的一本书“Scala程序设计 Java虚拟机多核编程实战”之后,我决定正式学习scala。
“Scala程序设计”这本书是翻译过来的,不厚,仅仅177页,在计算机类书籍中算是身材相当苗条的了。像这样的书,通常不会深入详解语法及api,更多的是介绍概念,以及“为什么会这样设计”。这正是我需要的,因为关于“是否从java转向scala”这个问题,我已经考虑了很久,始终犹豫不定,就是怀疑scala是否能真的解决我在使用java过程中,遇到的各种不爽的问题。
前段时间曾经下载了几本关于scala的电子书,它们对于语法及api介绍地太过详细,以至于我看了几天还是看不到scala的全貌,最后得出了一个“scala实在太复杂”的结论。而这本书,一章一章,每章虽然很短,但是针对熟练的java程序员,着重去讲在java中解决不好的问题,在scala中是怎么做的,让我不断会有“啊!就应该这样做”的感叹。
花了两天的时间太略地看完各章节之后,我有一种感觉:scala就是java的优良改进版。它不但可以解决我在使用java过程中遇到的各种不爽,还能以超出期望的方式,提供更好的解决方案。打消了我之前的疑虑和犹豫。
书中不断提到“不要重复自己”这句话,它正是scala相对于java的精华所在。在使用java时,由于语法限制,我们必须经常性去写一些重复代码、重复设计,虽然看到别的语言中早已有更好更省力的解决方案,但是我们只能无奈的叹气。而scala所做的,就是以一种优雅的方式,让我们也可以做到。
以前觉得scala过于复杂,是因为不了解scala为什么会有那些奇怪的语法(相对java),到底有多少不同,而现在清楚之后,突然觉得它和蔼可亲,近在手旁。
我想,对于每一个熟练的java程序员来说,学习scala,都会有一种撑开锁链自由飞翔的感觉。每一个熟练的java程序员,都应该去学习scala。