大家好我是ruby但是又不是ruby用英语怎么说

Python013

大家好我是ruby但是又不是ruby用英语怎么说,第1张

Hi,everbody!

My name is Ruby,a girl of 14 years old.

I study in class 7,grade 1 of No.8 Middle School,in Linyi.

I'm not the best at the moment,but I'm sure that I'm the most confident.

(楼长可以再加一些你的座右铭,爱好,兴趣和喜欢的名人什么的介绍,这样才不空洞)

Hello,everyone!I am Ruby, this year was 14 years old, going to The eighth Middle-school in the city ofLinxi now, at grade one seven.I know I ain't the best, but I believe I am the most self-confident.

伴随着RoR的风行,Ruby语言受到越来越多的开发者的关注,同为脚本语言,Python的地位却略显尴尬,什么样的原因,造成了这样的局面?

笔者认为有以下几个方面:

一、 RoR的推波助澜

笔者认为,Ruby的成功,很大一部分是由于RoR的带动。

几年前,如果你没听过RoR倒是情有可原,但如果今天,RoR对你来说,还是一个陌生词汇的话,那你就有点危险了。:)

什么是RoR呢?

全称,Ruby on Rails,简称,RoR或者Rails。

它是个全栈的(full-stack)web应用框架,它为开发者提供了构建一个web应用所需的完整基础结构,并且严格按照MVC(模型-视图-控制器)架构进行开发。

RoR致力于提高开发者的开发效率,希望通过尽量少的代码,完成尽可能多的功能。基于这样的考虑,RoR有两大设计原则,一是,不要重复自己 (Don''t Repeat Yourself);二是,惯例优于配置(Convention Over Configuration)。

使用RoR,你甚至可以通过简单的几条命令行、几行代码,就完成一个功能强大的web应用程序,这极大地提高了开发者的开发效率。

2004年7月,RoR一经发布,在短期内,便受到很多开发者的追捧。时至今日,RoR已经被全世界的开发者们所关注,它带给开发者的效率提升,是前所未有的;它带给业界关于软件开发的思考,也是意义深远的。

在RoR如此风行的大背景下,Ruby on Rails,这个需要使用Ruby进行开发的web框架,也自然地带动了Ruby语言的发展。

在下面的“Ruby语言受关注程度趋势图”上,可以清晰地看出,Ruby语言在RoR发布也就是2004年7月后,进入了高速发展期。

Ruby因为有了RoR这样的“杀手级”应用,变得春风得意,那么Python呢?

在《浅谈Python语言》一文中,我们提到了Python具有丰富的API库,在web开发方面,也有Django、Turbogears这样的一些框架,就运行速度而言,

Python比Ruby快;就社区而言,Python也比Ruby成熟,可是为什么Python没有产生一个像RoR这样的“杀手级”应用呢?

Python语言的创始人Guido在接受InfoQ采访时,是这样解释的:

“我不喜欢Killer

Application,因为那会让多数人或者社区将精力集中于一个地方。Python是一个应用广泛的语言,基于Python已经产生了很多好用的

Web框架,比如Django等。但是Python不Killer

Application,至少目前是这样,而且我相信随着Python社区的发展,会有很多Killer

Applications自然出现。我喜欢多样化的应用。”

通过这个观点,我们可以看出Python在其发展道路上,追求的是一种均衡,一种“大而全”。

“会有很多Killer Applications自然出现”,这点,我想我们需要拭目以待。单就“均衡”而言,笔者认为这很危险,作为一门脚本语言,试图做Java之类传统语言做的事情,不太可取。

以Java为例,在web应用上,有太多的框架可供选择,不错,“在不同的场景用不同的框架”,这想法很好。可是,在实际应用中,有多少开发者可以根据项目特点,正确、合理地选择框架?

与其到最后,用户还不知道该如何选择,还不如一开始就替用户做出一个选择。

作为Python的使用者,我更愿看到有个Python的“杀手级”应用出现,进而带动Python更快速地发展。

你可以说RoR成就了Ruby,可是Rails为什么偏偏选择了Ruby?!Ruby优势何在?

二、 Ruby的优势

1. 比Perl更强大,比Python更面向对象

“比Perl更强大,比Python更面向对象”,这是Ruby创始人Matz设计Ruby的初衷。

Python既支持面向过程的编程也支持面向对象的编程,而Ruby则是完全面向对象。

在Ruby中,任何东西都是对象,包括Python中的基本数据类型;每个过程或函数都是方法。

例如,取-3的绝对值,在Python中,是这样的:abs(-3)。

而在Ruby中,则是这样的:-3.abs。这种OO的方式,显得更加直观。

2. 强大的语法功能

单就语法的简单性而言,Ruby不及Python。但解决一些较复杂的问题,Ruby强大的语法功能,有助于降低问题的复杂度。

例如:

Ruby以“块”的方式来实现列表内的条件、循环语句,比Python的更灵活、更具通用性。

Ruby具有类似Lisp的彻底的函数方式的条件、循环语句等。

Ruby的迭代器功能可以将流程控制结构抽象化。

3. 强大的字符串处理、正则表达式功能

Matz认为:Ruby >(Smalltalk + Perl) / 2。

Ruby类库是对Perl语言功能的面向对象方式的重组,因为借鉴了很多Perl的东西,使得字符串处理、正则表达式这块,Ruby同样强大。

4. 不会僵住的“胶水语言”

同样是“胶水语言”,Ruby比Python更灵活。

使用过一段时间的Python,你会发现,Python比较依赖第三方的东西。相比较,Ruby则更依赖自身。例如,Ruby可以使用(UNIX的)绝大部分的系统调用,单独使用Ruby也可以进行系统编程等。

有优势,Ruby就一定可以成功了?Python同样也有很多优势!对,还得看当时所处的环境。

三、 时势造英雄

这点还得回到RoR的崛起。

Ruby,1995年12月正式发布,2000年进入美国;2004年7月,RoR正式发布。

RoR的出现时间,值得玩味。

在下面的“Java语言受关注程度趋势图”上,可以看到,2004年7月前后,Java处于一个相对“衰退期”。

提到Java,大家应该都会想到J2EE。

J2EE应用程序的广泛实现是从1999、2000年开始的,它的出现带来了诸如事务管理之类的核心中间层概念的标准化,但是因其开发效率、学习难度和实 际性能的问题,在实践中没有获得完全的成功。作为J2EE核心技术的EJB(2.x),更是因其高昂的学习代价、极低的开发效率和极高的资源消耗,备受指 责。

在这样一个大背景下,2003年,Spring框架诞生了。

Spring的设计思想在于“使J2EE开发更加简单”。这个设计思想,在包括Java领域在内的众多软件开发领域引起了广泛关注。软件开发者们开始思考,如何让开发向着一个更简单的方向发展。

RoR在这一时期出现,无疑是顺应了这样一个潮流。

可以这么说,是历史选择了RoR,当然也选择了Ruby。

遇到合适的机遇,还不够,俗话说得好:“众人拾柴火焰高”。

四、 众星捧月

Ruby的出现,受到了两大主流平台Java和.NET的极力追捧。

2006年9月,SUN雇佣了JRuby的主要开发者Charles Nutter和Thomas Enebo;一年不到,2007年6月14号,JRuby 1.0正式发布。SUN在其Java IDE NetBeans 6.0 M10中,更是集成了对Ruby/JRuby的支持。反观Python的Java实现——Jython,则没有这么幸运,发展至今,它并没有得到SUN的 支持。

而Microsoft,也在2007年7月,推出了Ruby的.NET实现——IronRuby的预览版。

相信SUN和Microsoft对Ruby的竞相推崇,必然推动Ruby的进一步发展。

基于以上几点,笔者认为Ruby的成功不是偶然,并且相信这样的成功还会持续下去。对于Python的未来,我们也将拭目以待。