这是最重要的时间,也是了解未来的关键。这一事件的意义正如一万年前农业文明掀起了第一次浪潮,工业革命带来了惊天动地的第二次浪潮一样,我们是下一次浪潮变化“第三次浪潮”的子女。
——阿尔文·托夫勒,《第三次浪潮》
人类社会用了一万多年时间才来到第三次浪潮的前线,而在软件行业的几十年历史中已经悄然完成前两次浪潮的更替,向第三次浪潮推进。
第一次浪潮的软件开发就好像农业文明中盖房子,一砖一瓦都要靠自己。开发者要考虑通风排水(底层技术),力学支撑(系统强壮性);砖瓦的平整契合(代码可读性); 进度的协调,什么时候装窗,什么时候上梁(开发流程管理);工程监理(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 101:深入理解与实践 #### 引言 《Ruby on Rails 101》是一本介绍Ruby on Rails(简称RoR或ROR)的基础书籍,旨在为初学者提供一个全面而深入的学习框架。本书由Peter Marklund编写,包含了五天...
Ruby on Rails,简称Rails,是基于Ruby编程语言的一个开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和代码的可读性。Rails以其“约定优于配置”(Convention over Configuration)...
Ruby on Rails是一款基于Ruby语言的开源Web开发框架,它遵循MVC(模型-视图-控制器)架构模式,简化了Web应用的开发流程。在Linux环境下安装Ruby on Rails需要一系列的依赖包和步骤,本资源包提供了所需的所有组件,...
《Ruby on Rails 3 Tutorial》是一本专门为初学者设计的指南,旨在帮助读者快速掌握Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby语言的一个开源框架,它采用MVC(Model-View-...
Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用程序的开发。Rails由David Heinemeier Hansson于2004年创建,它提倡“约定优于配置...
### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...
Ruby on Rails 现在带来了网页开发风暴; 现在国内接触这方面资源较少,php还是主流,可是ruby崛起是必然。 笔者在ruby on Rails 学习中发现一个扩展性极好的模板,spree 工作之余,自己编写了基于这个模板的商品...
《Ruby on Rails for Dummies》是一本专门为初学者设计的Ruby on Rails教程,它旨在帮助新手快速理解并掌握这个强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby编程语言构建的一个开源Web应用程序框架,它...
Ruby on Rails,简称Rails,是基于Ruby语言的一个开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本压缩包中的"Ruby on Rails入门经典代码"提供了新手学习...
Ruby on Rails,简称Rails,是由David Heinemeier Hansson基于Ruby语言开发的一个开源Web应用程序框架。这个框架遵循“约定优于配置”(Convention over Configuration)的原则,致力于简化Web应用的开发流程,提高...
《Ruby on Rails入门权威经典》是一本专门为初学者设计的指南,旨在帮助读者全面掌握Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby编程语言的开源框架,以其“DRY(Don't Repeat ...
Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在提升开发效率和代码的可读性。Rails以其“约定优于配置”的设计理念,以及“DRY(Don't Repeat ...
Ruby on Rails,简称Rails,是基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在使开发过程更加简洁高效。这个“ruby on rails 教程源码”很可能是为了辅助学习者深入理解Rails的...
本书教您如何使用Ruby on Rails开发和部署真正的,具有工业实力的Web应用程序,Ruby on Rails是为诸如Twitter,Hulu,GitHub和Yellow Pages等顶级网站提供支持的开源Web框架。
Ruby On Rails 框架自它提出之日起就受到广泛关注,在“不要重复自己”,“约定优于配置”等思想的指导下,Rails 带给 Web 开发者的是极高的开发效率。 ActiveRecord 的灵活让你再也不用配置繁琐的 Hibernate 即可...
Ruby on Rails 实战圣经, PDF 档。
Ruby on Rails 4 Tutorial 是一本深受开发者欢迎的书籍,它详细介绍了如何使用Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby语言的开源框架,以其“约定优于配置”(Convention over ...