这是最重要的时间,也是了解未来的关键。这一事件的意义正如一万年前农业文明掀起了第一次浪潮,工业革命带来了惊天动地的第二次浪潮一样,我们是下一次浪潮变化“第三次浪潮”的子女。
——阿尔文·托夫勒,《第三次浪潮》
人类社会用了一万多年时间才来到第三次浪潮的前线,而在软件行业的几十年历史中已经悄然完成前两次浪潮的更替,向第三次浪潮推进。
第一次浪潮的软件开发就好像农业文明中盖房子,一砖一瓦都要靠自己。开发者要考虑通风排水(底层技术),力学支撑(系统强壮性);砖瓦的平整契合(代码可读性); 进度的协调,什么时候装窗,什么时候上梁(开发流程管理);工程监理(QA)等等。 一套软件就像一件艺术品,充满了巧妙的构思,和完美的实现。那时候的开发者需要有木匠、泥水匠、铁匠、漆匠的等十八般手艺(各种编程语言的技巧),都必须是能工巧匠。他们有自由发挥的余地,很有成就感,但是生产力很低。
第二次浪潮的软件开发就像在工业社会里造高楼大厦。高楼大厦的很多基础设施都做在了钢筋水泥的框架里面,包括总体结构、承重抗震、通风排水,消防安全等等。而流行的软件框架(Framework) ,比如.Net,J2EE,也包括了底层支持、项目模板、开发规范、甚至一些基本功能。软件开发就是一个构建框架和内部装修的过程。开发者被分为程序员、界面设计师、系统分析员、架构师、管理人员等等。每人只用一种手艺,负责一种工作,通过分工协作来完成任务。他们不需要知道所有的细节,也不需要是能工巧匠,只要按照流程安全施工即可。第二次浪潮的软件开发很强,可以做出很复杂的系统,但是他们的开发者很可怜,没有一点儿自由。
Ruby on Rails掀起了软件开发的第三次浪潮,一个很小的团队就可以做出一套先进的Web系统。做软件就像玩乐高积木:需要支付功能,插上一块Payment gem(第9章),就把Paypal网站的所有功能集成进来了。需要目前流行的标签(Tag)功能,插上一个acts_as_taggable插件(第7章),开发者只需要写几行代码即可。听上去像高科技一样的Ajax已经被集成到Rails中,所以给购物车加上拖放效果也只需要十几行代码(第5章)。本书中最常用的句式就是“要完成A很简单,只需要……,要完成B也很简单,只需要……”。
第一次浪潮的艺术性被做入一块块乐高积木中,第二次浪潮工业品的精密通过每块积木的凸起和凹槽的契合来实现。第三次浪潮的开发者不需要很深入地了解复杂的框架,他需要的是一些搭积木式的编程能力,更需要一些创意。第三次浪潮的开发者更强,并重获自由。
在翻译这本书的同时,我辞去了研发部经理的职务,创建了activescaffold.com.cn网站。当然,是关于Rails的。创业的过程对我理解本书帮助很大。
致谢
这是我第一次翻译一整本书,期间碰到了各种意想不到的困难和挫折,能及时完成真是奇迹。感谢上帝帮助我完成这个翻译任务,更感谢他通过新的浪潮带给我的力量和自由,让我迫不及待地与读者们分享。
台湾著名的出版人博客老猫,在他的一篇博文中建议出版社编辑不要请短篇译者翻译一整本书,说那就像让一个短跑运动员跑马拉松一样。所以,特别感谢人民邮电出版社的傅志红编辑对我的信任,给了我这次“马拉松”的机会,以及翻译过程中不懈的指导。
衷心感谢我的家人,在翻译和创业的过程中,一直给予我支持和鼓励。特别是妻子刘英华,还担任了部分章节的审校工作。
感谢原书的作者Christian和Jarkko,写了一本像小说一样丝丝入扣引人入胜的技术书。虽然译者的翻译经验不足,技术水平有限,难免有些错误,但本书仍然值得推荐。也要感谢每一位阅读本书的读者,你们使我的工作有意义。
译者
2007年初秋
注
- 致谢的第一段,因为我国出版政策原因,在实际出版中改为:“这是我第一次翻译一整本书,期间碰到了各种意想不到的困难和挫折,能及时完成真是奇迹。感谢赋予我爱和力量,不断鼓励我"忘记背后,努力面前"的人,使我最终坚持下来,直到最后完工。” 好吧,虽然好像在猜谜语,毕竟我能够对最重要的那位神表达了感谢。
- 这篇译者序参考了两年前的一篇blog:后现代编程。喜欢ruby和rails也是因为我一直在等待这样的东西。
分享到:
相关推荐
《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...
Ruby on Rails Guides v2 - Ruby on Rails 4.2.5
Ruby On Rails中文教材(PDF)
Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 ...
ruby on rails社区网站开发源码
ruby on rails对mongodb的操作ruby on rails对mongodb的操作ruby on rails对mongodb的操作ruby on rails对mongodb的操作
Ruby on Rails Web开发学习实录 内容简介: 在目前的主流web开发技术中,基于ruby语言的rails框架是做网站开发速度最快的工具。它可以达到j2ee框架开发速度的5~10倍,并且代码量也非常少。另外由于代码量的大幅度...
本书的目标是成为对“如果想学习使用 Ruby on Rails 进行 Web 开发,我应该从哪儿开始?”这一问题的最好答案。学习完本书的内容之后,你将具备使用 Rails 进行开发和部署 Web 程序的技能。同时你还能够通过一些进阶...
Ruby on Rails 现在带来了网页开发风暴; 现在国内接触这方面资源较少,php还是主流,可是ruby崛起是必然。 笔者在ruby on Rails 学习中发现一个扩展性极好的模板,spree 工作之余,自己编写了基于这个模板的商品...
Ruby On Rails 官方教程,这本书讲解如何使用 Ruby on Rails 框架开发应用,以及如何把应用部署到生成环境。本书使用 Rails 默认的开发工具栈开发了一个完整的社交应用(类似 Twitter)。读完本书后你将掌握如何使用...
Ruby on Rails中文指南
ruby on rails 教程源码,配合原书使用
ruby on rails最新版 这是本人精心收集的重要软件
ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)
ruby on rails api方便查阅
该资源包包括在Linux安装Ruby on Rails所需的包,以及安装步骤文档
本书教您如何使用Ruby on Rails开发和部署真正的,具有工业实力的Web应用程序,Ruby on Rails是为诸如Twitter,Hulu,GitHub和Yellow Pages等顶级网站提供支持的开源Web框架。
Ruby On Rails 框架自它提出之日起就受到广泛关注,在“不要重复自己”,“约定优于配置”等思想的指导下,Rails 带给 Web 开发者的是极高的开发效率。 ActiveRecord 的灵活让你再也不用配置繁琐的 Hibernate 即可...