李刚老师谈Ruby语言的未来

原创
开发 开发工具
李刚老师在最近跟51CTO编辑的交流信件中谈论了自己对于Ruby语言的一些看法和思考。李刚老师的《Ruby on Rails敏捷开发最佳实践》对很多Ruby学习者有很大的帮助。

【51CTO独家专访】李刚老师是经验丰富的Java EE技术主管、IT技术培训导师以及IT技术作者。邀请李刚老师来这次的Ruby讲堂,是因为李刚老师的《Ruby on Rails敏捷开发***实践》一书。近日,51CTO编辑阿菜通过电子邮件联系到了李刚老师,请他就Ruby的语言特性、发展现状以及未来的前景谈论一二,下面整理交流信件原文如下:

[[6031]] 
《Ruby on Rails敏捷开发***实践》作者李刚

51CTO记者:有人说Ruby简单上手,但是环境的搭建相对比较麻烦,而且在有些平台上不怎么稳定。您对Ruby学习、使用及环境搭建是怎么看的?

李刚老师:个人觉得:Ruby语言上手确实很简单。它甚至不需要你像Java那样定义类,它也不需要你像C那样定义函数,你只要直接写一条puts "Hello World!"语句就是最简单的Hello World。

至于说环境搭建很麻烦,其实也不是,如果你只是安装Ruby解释器,只要登录Ruby官方站点下载一个安装文件进行安装即可。从这个角度来说,搭建Ruby开发环境并不会比Java、PHP、C更复杂。当然,如果要安装一些额外的框架和服务,可能需要花费一些时间和精力,不过总体来说,初学者只要能找到系统的、好的文档和书籍,按照书中内容一步一步地走,搭建环境应该是很简单的事情。

51CTO记者:据我所知,过去一年间Ruby社区的发展比较慢。而对于Ruby框架,很多人只听说过Rails。您对Ruby社区的发展乐观么?能否为我们介绍/推荐一些Ruby开发工具以及框架呢?

李刚老师:其实Ruby语言作为动态、脚本语言的代表,本身也是一门非常优秀的编程语言。通常我推荐每个程序员在静态语言、动态语言都应该有所涉足,所谓他山之石,可以攻玉嘛。如果总是局限于一门编程语言,往往很难真正全面地掌握它,真正了解这门语言所存在的制约和不足。

对于Ruby而言,在国内影响较大的当然是Rails框架了,其实Ruby虽然不像Java拥有那么广泛的开发群体,开源框架也没有Java框架那么活跃。

但实际上仅就Ruby在Web领域的开发框架也不少,比如Merb,它是和Rails非常接近的框架。还有Camping,它是一个非常小巧的微框架(Microframework),使用ActiveRecord作为ORM解决方案;模板系统使用Markaby。通过使用Markaby作为模板语言,允许开发者使用纯Ruby开发HTML模板。

个人觉得Merb的发展思路与Rails是不同的。Rails是一种“一站式”的解决方案,这既是Rails的一个优势:开发者日常开发需要解决的问题,Rails基本上都提供了解决方案。

从某种曾度上来看,这也未尝不是Rails的缺陷:开发者真正能自己选择、控制的部分不多。

比如我只想用Rails的ActionController部分,这很难。从这个角度来看,我觉得Merb的思路对Rails应该有些启发,Merb放弃成为一个大而全的解决方案,现阶段,它可以整合Rails;如果未来有更好的解决方案,Merb也可与其整合。

其实广大Ruby爱好者完全可以登录http://rubyforge.org/softwaremap/trove_list.php看到大量Ruby语言开发的项目。

对于Ruby的未来,我还是比较有信心的。不管是Sun(现已被Oracle并购)的JRuby,还Microsoft的IronRuby,都体现了两大软件厂商对Ruby的信心,而且这两个软件厂商的支持必然让Ruby更流行。

51CTO记者:在前几个月的一次对脚本语言的调查中,Ruby在代码可读性和可维护性这一项得到了相当高的分数。从您对Ruby的了解来看,您认为是什么为Ruby带来了相对较高的代码可读性和可维护性?

李刚老师:如果从代码可读性角度来看,我并不觉得Ruby有多大的优势,而且个人觉得:一份程序的代码可读性只和程序员的素质和态度有关,和语言无关。也就是说,任何编程语言,如果让有良好编程习惯、良好编程素质的程序员认真地写,这份代码总能保持较好的可读性。再好的编程语言,也有可能写出糟糕的源代码。关于程序可读性,我认为关键在于人。

当然,总体来说,高级语言的代码可读性总比低级语言的代码可续行强。

51CTO记者:Web发展的趋势是个人信息都向互联网上流动,因此网站的安全性十分重要。前一阵子听说Ruby解释器及其API库有众多安全缺陷。对于Ruby网站的安全性,您有何见解?

李刚老师:这个问题前段时间也有看到。这种属于语言本身带来的有些缺陷,我们只能等待***的补丁。

51CTO记者:您认为在未来几年的Web开发中,Ruby***的优势在哪里(比如它的敏捷)?***的短板又在哪里(如:可扩展性不佳)?Ruby将会成为一个Web开发的主导语言么?或者,像是Twitter那样的Ruby+Scala模式将会成为更好的趋势?

李刚老师:对于Ruby语言来说,语言简洁、语法随意是它的一个很吸引人的地方。单纯地从代码量的角度来说,Ruby程序的代码量就要小得多。

而且Ruby语言的语法非常随意:就调用方法而言,你既可以用info,也可用info '张三',还可用info('张三' , 24)。

由于Ruby语法的简洁性、随意性,使得Ruby语言天生具有敏捷特征。

对于Ruby语言来说,目前***的短板在于开发群体不如Java、PHP开发群体活跃。Ruby语言在国内的活跃主要还是Rails带动的,而且国内真正采用Ruby开发的公司非常有限,还需要时间来培养。

【编辑推荐】

  1. 陆亦斌谈Ruby语言的发展与前景
  2. Peter Cooper谈Ruby是否将会流行
  3. Dave Thomas谈编程与Ruby修炼之道
  4. Ruby百家谈
  5. 牛人点评Ruby语言十大令人喜爱的特点
责任编辑:yangsai 来源: 51CTO.com
相关推荐

2012-11-07 09:41:30

2009-09-18 13:12:05

2015-02-09 09:51:06

2009-09-09 17:45:25

Ruby的blocks

2009-09-18 13:39:35

Peter CoopeBeginning R

2010-08-17 09:00:14

GoogleAndroid未来

2009-09-16 17:29:38

Ruby on RaiDave Thomas

2014-11-05 11:05:15

Ruby

2009-12-16 16:12:10

Ruby语言发展

2010-01-26 10:00:30

Google工程师Web

2011-06-21 18:05:15

SEO

2010-03-10 19:46:07

Python编程语言

2015-11-02 17:25:23

Elixir编程语言未来

2011-08-09 09:42:17

苹果云云计算iCloud

2015-05-18 14:39:23

MySQL开源OpenStack

2009-12-14 18:54:30

Ruby语言优缺点

2009-06-10 16:09:56

netbeans ru动态语言

2015-01-21 15:40:44

GoRuby

2017-04-21 10:16:07

web语言Python

2017-09-12 14:35:08

PythonRubyWeb
点赞
收藏

51CTO技术栈公众号