-
2005-09-11
从rails开始的胡思乱想
最近看到对David Heinemeier Hansson的访谈( Ruby on Rails: An Interview with David Heinemeier Hansson), David Heinemeier Hansson是著名的 37signals的合伙人,并且是著名的web项目管理应用程序Basecamp的创始人。在访谈中他自己说处于两种较为流行的软件开发方法的交界处,一种是象PHP语言那样的,快速而凌乱(quick-n -dirty),另外一种是象JAVA那样的,慢速而规整(slow-n -clean),但是他更需要的是快速而规整的(quick-n -clean),而rails正好结合了上述两种方法的优势,而又有效的避免了他们的不足。
其实关注rails已经很久了,包括我的 美味也收集了很多这样的资料。在rails中有两个非常重要的观念或者称为哲学:一个是" DRY",即"don't repeat yourself",其含义就是"在一个系统中,每个知识片段应该只在一个地方表述"。按照我粗浅的理解,这里面可以包含两层意思 ,一个是从编程的技术层面来说,即通过清晰的MVC体系结构,使编程代码各司其职,在程序中没有重复和冗余的代码 ;另一个,也可以从技术创新的角度来理解,"不要重复自己 "就是要勇于创新,我们经常看到的情景可能是,如果一个程序员熟悉了一种编程方法 ,即使他很落后,但是只要能够完成功能,再难看也一直会使用 ,同时也不会考虑其他的编程方法,更别说体系结构了。另一个重要的理念称为"convention over configuration",可以表述为"约定俗成胜于(事必 )配置",这样,rails与那些使用大量XML文件进行配置的标 准的JAVA程序相比,就可以使用更少的代码、更高的效率来完成同样的功能 。所以我们在惊叹rails的体系结构和效率的时候,更有意思的是思考为什么我们没有提出这样 的体系结构。一直以来,微软的.NET和 SUN的J2EE是都是编程的两大主要体系结构,但就我的了解来说 ,总有一种直觉,他们都在将简单的事情越变越复杂 。所以rails的出现在这两大阵营中都引起了很大的反响,重要的倒不是说rails一定比他们好多少 ,而是人们开始重新审视,我们到底应该需要什么?
David Heinemeier Hansson究竟何许人也,查看他自己的介绍,发现他很年轻,一直住在丹麦的哥本哈根,也并无留学他国的经历,但就是他凭借rails的走红,而被google和o 'reilly评为本年度的 "best hack",也因此成为今年最受关注的人物之一。还有一点 ,rails使用的底层语言即不是.NET,也不是JAVA ,而是知名度并不高的ruby,可以说在rails出现之前,知道和关注ruby的人并不多 。所以从创新的角度来说,可能给我们的启示更大。在IT技术的很多 方面我们都落后与他人,只好随着他人的脚步亦步亦趋,甚至有时候亦步亦趋也会感到异常疲惫 ,可rails告诉我们,另辟蹊径也未尝不可,只要你有真正创造性 的东西,并不一定非要延续原有的体系架构。
于是又想起了两个关于教育的小故事:
一个是关于两个教育预言的故事。前一阵偶然看到了央视的《新教育风暴》,其中有关于两个预言的真实的故事。70年代末,我国派出教育考察团出访美国,看到他们的课堂纪律散漫 ,小学三四年纪还在掰着指头算算术,学校重视体、音、美,而轻数 、理、化,于是得出结论说美国的基础教育正在走象没落和失败,如此下去,20年后中国必定超越美国的科技 大国的地位;同时期美国也派出了教育考察团来中国 ,看到中国的学生上课纪律非常好,一般都将双手背在身后,只有有问题的时候才将右手举起 ;学生回家以后有称为"家庭作业"的任务,以作为课堂学习的延续 ;中国学生的成绩在世界各国同年龄学生中是最好的,于是美国的教育考察团也得出了一个结论 ,中国作为一个如此重视教育,并且学生成绩优秀的大国 ,20年后会超过美国成为科技大国。可是另人遗憾的是,20年过去了,中国并没有出现一位象比尔.盖茨的世界首富 ,也没有出现美国那么多的诺贝尔获奖者,而美国的教育也没有没落 ,尤其在90年代正确把握了计算机和互联网发展的方向后,在科技创新方面的步伐越来越大。
还有一个故事说的是外国的教育研究者来中国考察我们的基础教育,于是学校自然做了一些安排,包括谁来上课,提什么问题 ,由那个优秀的学生来回答,自然大家都很努力,课堂上也自然对答如流,作为中方的学校来说当然觉得很完 美了,可是在课后与外方专家的讨论中,老外提的问题却把中方代表难 住了,老外说,你们的学生都学会了,老师上课还教什么?
对于教育和创新,似乎永远有说不完的话题...
共1页 1










