`

从rails开始的胡思乱想

阅读更多

转载自 『风语者』 http://upwind.blogbus.com/logs/1427382.html

最近看到对David Heinemeier Hansson的访谈( Ruby on Rails: An Interview with David Heinemeier Hansson David Heinemeier Hansson是著名的 37signals的合伙人,并且是著名的web项目管理应用程序Basecamp的创始人。在访谈中他自己说处于两种较为流行的软件开发方法的交界<wbr></wbr>处,一种是象PHP语言那样的,快速而凌乱(quick-n<wbr></wbr>-dirty),另外一种是象JAVA那样的,慢速而规整(slow-n<wbr></wbr>-clean),但是他更需要的是快速而规整的(quick-n<wbr></wbr>-clean),而rails正好结合了上述两种方法的优势,而又有效的避免了他们的不足。


其实关注rails已经很久了,包括我的 美味也收集了很多这样的资料。在rails中有两个非常重要的观念或者称为哲学:一个是" DRY",即"don't repeat yourself",其含义就是"在一个系统中,每个知识片段应该<wbr></wbr>只在一个地方表述"。按照我粗浅的理解,这里面可以包含两层意思<wbr></wbr>,一个是从编程的技术层面来说,即通过清晰的MVC体系结构,使编程代码各司其职,在程序中没有重复和冗余的代码<wbr></wbr>;另一个,也可以从技术创新的角度来理解,"不要重复自己 <wbr></wbr>"就是要勇于创新,我们经常看到的情景可能是,如果一个程序员熟悉了一种编程方法<wbr></wbr>,即使他很落后,但是只要能够完成功能,再难看也一直会使用<wbr></wbr>,同时也不会考虑其他的编程方法,更别说体系结构了。另一个重要的理念称为"convention over configuration",可以表述为"约定俗成胜于(事必<wbr></wbr>)配置",这样,rails与那些使用大量XML文件进行配置的标<wbr></wbr>准的JAVA程序相比,就可以使用更少的代码、更高的效率来完成同样的功能<wbr></wbr>。所以我们在惊叹rails的体系结构和效率的时候,更有意思的是思考为什么我们没有提出这样<wbr></wbr>的体系结构。一直以来,微软的.NET和 SUN的J2EE是都是编程的两大主要体系结构,但就我的了解来说<wbr></wbr>,总有一种直觉,他们都在将简单的事情越变越复杂<wbr></wbr>。所以rails的出现在这两大阵营中都引起了很大的反响,重要的倒不是说rails一定比他们好多少<wbr></wbr>,而是人们开始重新审视,我们到底应该需要什么?

David Heinemeier Hansson究竟何许人也,查看他自己的介绍,发现他很年轻,一直住在丹麦的哥本哈根,也并无留学他国的经历<wbr></wbr>,但就是他凭借rails的走红,而被google和o<wbr></wbr>'reilly评为本年度的 "best hack",也因此成为今年最受关注的人物之一。还有一点<wbr></wbr>,rails使用的底层语言即不是.NET,也不是JAVA<wbr></wbr>,而是知名度并不高的ruby,可以说在rails出现之前,知道和关注ruby的人并不多<wbr></wbr>。所以从创新的角度来说,可能给我们的启示更大。在IT技术的很多<wbr></wbr>方面我们都落后与他人,只好随着他人的脚步亦步亦趋,甚至有时候亦步亦趋也会感到异常疲惫<wbr></wbr>,可rails告诉我们,另辟蹊径也未尝不可,只要你有真正创造性<wbr></wbr>的东西,并不一定非要延续原有的体系架构。

于是又想起了两个关于教育的小故事:
一个是关于两个教育预言的故事。前一阵偶然看到了央视的<wbr></wbr>《新教育风暴》,其中有关于两个预言的真实的故事。70年代末,我国派出教育考察团出访美国,看到他们的课堂纪律散漫<wbr></wbr>,小学三四年纪还在掰着指头算算术,学校重视体、音、美,而轻数<wbr></wbr>、理、化,于是得出结论说美国的基础教育正在走象没落和失败,如此下去,20年后中国必定超越美国的科技<wbr></wbr>大国的地位;同时期美国也派出了教育考察团来中国<wbr></wbr>,看到中国的学生上课纪律非常好,一般都将双手背在身后,只有有问题的时候才将右手举起<wbr></wbr>;学生回家以后有称为"家庭作业"的任务,以作为课堂学习的延续<wbr></wbr>;中国学生的成绩在世界各国同年龄学生中是最好的,于是美国的教育考察团也得出了一个结论<wbr></wbr>,中国作为一个如此重视教育,并且学生成绩优秀的大国<wbr></wbr>,20年后会超过美国成为科技大国。可是另人遗憾的是,20年过去了,中国并没有出现一位象比尔.盖茨的世界首富<wbr></wbr>,也没有出现美国那么多的诺贝尔获奖者,而美国的教育也没有没落<wbr></wbr>,尤其在90年代正确把握了计算机和互联网发展的方向后,在科技创新方面的步伐越来越大。

还有一个故事说的是外国的教育研究者来中国考察我们的基础教育<wbr></wbr>,于是学校自然做了一些安排,包括谁来上课,提什么问题<wbr></wbr>,由那个优秀的学生来回答,自然大家都很努力,课堂上也自然对答如流,作为中方的学校来说当然觉得很完<wbr></wbr>美了,可是在课后与外方专家的讨论中,老外提的问题却把中方代表难<wbr></wbr>住了,老外说,你们的学生都学会了,老师上课还教什么?

对于教育和创新,似乎永远有说不完的话题...
分享到:
评论

相关推荐

    Rails 101 入门电子书

    本书主要针对的是希望学习Ruby on Rails框架的读者,特别是那些想要从零开始掌握这项技术的新手。 #### 二、作者介绍与背景 - **作者**: xdite,一位经验丰富的开发者,专注于Ruby on Rails框架。 - **作品**: ...

    Rails101_by_rails4.0

    为了确保读者能够通过实践加深理解,书中还安排了一系列练习作业,从最基础的“Hello World”开始,逐步过渡到更复杂的概念,如Rails的Routing(路由)机制。路由机制是Web应用中一个非常核心的概念,它定义了不同的...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    使用Aptana+Rails开发Rails Web应用(中文)

    你可以从其官方网站下载最新版本的安装包。安装过程中,遵循提示进行,确保选择自定义安装并勾选Rails相关的插件,以便在Aptana中获得对Rails的全面支持。 安装完成后,打开Aptana Studio,创建一个新的Rails项目。...

    rails2-sample

    从给定的文件信息来看,我们正在探讨的是一本关于Ruby on Rails的书籍,书名为《Simply Rails2》,作者是Patrick Lenz。本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是...

    Rails recipes

    Rails的目的是让开发过程尽可能简洁和高效,因此它内置了许多自动化功能,使得开发者能够迅速地从零开始构建应用程序。Rails Recipes涵盖了Rails的众多方面,包括但不限于模型、视图、控制器、路由、数据库迁移、...

    Ruby on Rails安装指南(Ruby 1.8.6+Rails 2.0.2)

    该命令会从Ruby的包管理库中查找并安装指定版本的Rails。安装完成后,同样通过`rails -v`来检查是否安装成功。 **知识点3:Mongrel安装** Mongrel是Rails官方推荐的轻量级Web服务器之一。下载Mongrel 1.1.4版本,...

    Rails

    标题 "Rails" 指的是 Ruby on Rails,一个开源的Web应用程序框架,它基于Ruby编程语言,遵循MVC(模型-视图-控制器)架构模式。Rails由David Heinemeier Hansson在2004年创建,其设计理念是强调代码的简洁性、DRY...

    rails指南 中文版

    Rails指南中文版是针对Ruby on Rails框架的一份详尽教程,旨在帮助开发者深入理解并熟练掌握这个强大的Web应用开发工具。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-...

    rails本地安装包完整版

    Rails是Ruby编程语言的一个著名框架,用于开发Web应用程序。它以MVC(模型-视图-控制器)架构模式为基础,提供了许多内置功能,使开发者能够更...通过这种方式,开发者可以立即开始使用Rails进行Web应用的开发工作。

    component base rails applications

    - 学习如何开始编写基于组件的Rails应用程序。 - 探讨了组件化应用中的迁移(Migrations)管理,也就是如何在组件内处理数据表的迁移。 5. 组件类型: - 书中可能会提到不同类型的Rails引擎,比如Plain Engine、...

    rails 2.3.2离线安装rails 2.3.2离线安装

    rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...

    Rails进行敏捷Web开发(所有版本的源码rails3.0-4.0)

    在“Rails进行敏捷Web开发(所有版本的源码rails3.0-4.0)”中,包含了Rails从3.0到4.0各个主要版本的源代码,这些版本的变迁反映了Rails框架在不同阶段的发展和改进。 1. Rails 3.0: Rails 3是重大升级,引入了...

    [Rails] Crafting Rails Applications (英文版)

    [Pragmatic Bookshelf] Crafting Rails Applications Expert Practices for Everyday Rails Development (E-Book) ☆ 图书概要:☆ Rails 3 is a huge step forward. You can now easily extend the framework, ...

    rails2.3.2

    标题 "rails2.3.2" 指的是 Ruby on Rails 框架的一个特定版本,即 2.3.2。Ruby on Rails(通常简称为 Rails)是一个基于 Ruby 语言的开源 Web 应用程序框架,它遵循 Model-View-Controller (MVC) 设计模式,用于构建...

    rails api(文档)

    为了开始使用Rails API,首先你需要安装Rails框架,然后创建一个特定于API的项目,使用`rails new your_api --api`命令。接着,你可以按照文档中的指导来设置路由、创建模型、编写控制器,以及添加必要的验证和授权...

    Rails相关电子书汇总

    标题 "Rails相关电子书汇总" 暗示了这个压缩包包含了关于Ruby on Rails框架的电子书籍资源。Ruby on Rails,通常简称为Rails,是一个基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,以...

    rails2.3.8 && ruby1.8.7

    标题中的"rails2.3.8 && ruby1.8.7"指的是Ruby on Rails框架的2.3.8版本和Ruby编程语言的1.8.7版本。...开发者只需下载并解压此包,然后按照Ruby和Rails的安装指南进行配置,即可开始进行Rails应用的开发工作。

Global site tag (gtag.js) - Google Analytics