2010年8月30日星期一

《Scala程序设计》书评

Java语言早已进入了它的成熟期,多年来长期占据世界第一大编程语言的宝座。Java语言几乎能够做任何类型的软件开发,从底层的操作系统、数据库到高层的Web应用、桌面应用、以及移动智能设备的应用(JavaME、Android)。

然而Java语言的开发效率令人非常失望。与C#、Python、Ruby、JavaScript、PHP等语言相比,Java语言在开发效率方面没有任何优势。用不同的语言实现完全相同的功能,Java代码往往是最冗长的。有人比喻说用Java编程就像是在推绳子,有力使不出来,这也是我在用Java编程多年之后的感觉。按理说,一种兵器(编程语言)在你使用了很多年之后,应该已经达到了“心手合一、指哪打哪”的境界。很可惜,Java语言没有带给我这种感觉。

很显然,Java为广泛的适用场合(成为一种全能的编程语言)做出了很多妥协,因而付出了巨大代价。其实企图使用一种编程语言做任何类型的软件开发,最终只会导致开发效率的低下。混合语言编程的时代已经到来了,应该为不同类型的软件开发使用最适合的编程语言。例如:做Web开发Ruby是更好的选择,PHP在这个领域也是更好的选择。对于一个大流量的Web应用,以及很多B/S结构的企业应用来说,使用多种编程语言是很合理的选择。例如:前端的Web开发使用Ruby+JavaScript,后端的基础架构开发使用Java+Scala。

至少在Web开发领域,Java已经退居二线了。Java其实更适合做后端的基础架构开发,例如:实现一个SOA的基础架构。即使在后端基础架构开发方面,也需要一种开发效率更高,同时性能优越,还能够与Java无缝集成的编程语言。Scala语言应运而生,恰好填补了这个巨大的空白。得益于更加纯粹的面向对象和函数式编程相结合,Scala语言的开发效率远远高于Java。尤其是在并发编程领域,Scala的并发编程模型要简洁的多,更加容易掌握,在开发效率和运行效率两方面都比Java强的多。经过了几年的发展,Scala语言现在已经足够强大,进入了实用阶段。Scala在现实世界中已经有了很多引人注目的应用,例如:著名的微博网站Twitter的后端基础架构就是基于Scala开发的。

《Scala程序设计:Java虚拟机多核编程实战》这本书是面向Java开发者的最好的Scala入门书。如果一位Java开发者打算抬起头来,看看Java语言之外的广大世界,那么Scala语言就是您的首选。我郑重推荐国内的每一位Java开发者,都来认真读一下这本书。尤其是国内的每一位Java架构师,这本书将会为您带来非凡的阅读体验和巨大的收益。

1 条评论:

Xenofex 说...

这本书我看完了英文版。个人觉得帮助很大,就算是不用Scala编程也得到很多启示。可能是因为平日工作都已面向对象语言为主,这本书则对比了面向对象和函数式。