9/08/2010

去年以来出版的REST新书汇总

从去年开始,REST架构设计和开发方面的图书数量出现了爆发的趋势。以下对这方面的图书做一个汇总:

已经出版的:
Effective REST Services via .NET: For .NET Framework 3.5
RESTful Java Web Services
RESTful Java with Jax-RS
RESTful Web Services Cookbook: Solutions for Improving Scalability and Simplicity

即将出版的:
REST in Practice: Hypermedia and Systems Architecture
RESTful Web Services in Java
SOA with REST
Restlet in Action
Professional Restful Services Using .NET 4

书中涉及到REST的:
Java Web Services: Up and Running
Java SOA Cookbook
Service-Oriented Design with Ruby and Rails

8/31/2010

《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架构师,这本书将会为您带来非凡的阅读体验和巨大的收益。

8/19/2010

今年出版的Blender新书汇总

已经出版的:
3D for iPhone Apps with Blender and SIO2: Your Guide to Creating 3D Games and More with Open-Source Software

Blender 2.49 Scripting

Blender Studio Projects: Digital Movie-Making

Blender Foundations: The Essential Guide to Learning Blender 2.6

Blender For Dummies 第2版

Beginning Blender: Open Source 3D Modeling, Animation, and Game Design

即将出版的:
Mastering Blender Game Engine

Character Development in Blender 2.6