学习从此开始
新闻资讯 资源下载 学习工具 English 繁體中文 风尚OK服饰
⊙ 欢迎您!
点击放大图片-Ruby vs Python
发布日:2010-09-04 14:25:13.0 发布人:i 浏览量:1120

   

Python和Ruby是最近非常火的两个动态编程语言。他们非常适合来构建软件原型。同时这两种语言同样适合开发Web应用程序。目前Ruby最新版本为1.9.2, Python最新版本为3.1.2.

 

设计哲学

Python的设计重心在于提高程序的可读性和提高程序员的效率。Ruby则强调的是给程序员带来更多的编程乐趣。同时在Ruby中往往可以用不同的方式来解决同一个问题。这也是在Ruby中甚至很多方法会有不同的名字。Python则完全反对这个想法。在Python中应该有且只有一种方法来解决一个问题。

 

面向对象支持

Python和Ruby都很好的支持OO。

 

函数式编程

两者都部分的支持函数式编程。但有些人认为Ruby更适合函数式编程。

 

运行速度?

如果单纯用这两种语言的运行环境来比的话,可以说他们的运行速度非常类似。如果你特别要求速度的话可以使用一些第三方框架,比如:Cython, Pyrex等。

 

使用人群

整体而言,使用Python的人略多于Ruby。但近几年来随着Ruby on Rails框架的普遍使用,使用Ruby的人群迅猛地增长。

 

编码风格

Ruby将所有代码都放在块中,所有块都已“end”来结束。Python代码则对缩进非常敏感。


说起松本行弘(Yukihiro Mats-umoto)很多人并不陌生,他设计和实现了目前开发者社区最火爆的语言——Ruby。他是日本最为著名的开放源码传播者之一,但大家更爱亲切地称呼他的网名Matz。

早慧少年

和很多计算机界的泰斗才俊一样,1965年出生的松本行弘也很早慧。他中学时自学了编程,在父亲的电脑Sharp PC-1210上写出了第一个Basic程序。

1984年松本行弘进入筑波大学第三学群资讯(情报)学类,中间甚至还休学两年,从事基督教传教工作。不过,松本行弘最终仍然选择回到校园完成学业,并于1990年毕业,获得了信息科学学位。此后,松本行弘一直从事程序设计语言和编译器相关的设计与开发工作。

既高效又有趣的语言

有创见的科学家,永远都是那些很有“想法”的人,哪怕最初看起来很奇怪或天方夜谭。松本行弘认为以往的编程语言过分强调运行速度,而忽视计算机真正的主人——“人”,他认为:“一个好的编程语言不仅可以执行程序任务,也应该帮助程序员形成更好的编程逻辑。”

于是,松本行弘想发明一种使开发既高效又有趣的语言,这就是后来更人性化的编程语言Ruby。

1993年,松本行弘开始Ruby语言的研发工作,试图集成脚本语言中最好的特点,基于C语言开发,但比Perl更强大,比Python更面向对象。1994年,松本行弘独立完成Ruby的第一个Alpha 版,那年他才28岁。 

“红宝石”语言

松本行弘把它取名Ruby,也因这名字是一种美丽珍贵的红宝石之意。Ruby本身也极具魅力——这种解释型脚本语言,既有脚本语言强大的字符串处理能力和正则表达式,又不失解释型语言的动态性。

此外,松本行弘还借鉴了Perl语言在文字处理方面的优势,由Ruby编写的程序不需事先编译即可直接运行,因此利于实现开发过程中的快速反馈,极大地方便了程序的调试。

1995年Ruby脚本语言的第一个版本发布后,因其大大提高了开发者的工作效率,让编程更有乐趣,很快在日本非常流行。

1997年开始,松本行弘在“株式会社Network应用通信研究所”担任特别研究员,专注于Ruby的开发。2000年,Dave Thomas首次将这Ruby介绍到了英文社区,很快掀起了Ruby语言的热潮。Ruby的灵活特性给动态编程语言注入了新的活力,逐渐获得全世界范围的程序设计者的喜爱。

总有不完美

世界上没有一种完美的语言,Ruby也一样。尽管Ruby很棒,但很多人还是觉得他的性能效率较低。不过好在后来开发者也通过一些扩展来弥补Ruby的瓶颈。

2004年,丹麦人David Heinemeier Hansson用Ruby语言开发的一种Web框架Ruby on Rails,可达到J2EE开发速度的10倍以上,被很多人视为“软件开发的银弹”,Ruby开始在全球范围内流行。

“不要忽略人的因素”

Ruby颠覆了许多传统的观念,给程序员极大的灵活性,后来的Ruby on Rails更是打破了Web开发领域的固有观念,其便捷的开发方式被广泛接受,成为多家大型公司的开发语言。能取得这么大的成就,与松本行弘一贯的“不要忽略人的因素”的思想有关。

他认为语言不但是表达思想的工具,也是人类进行思想的方法。“不要低估人的因素。仅仅想到我们是在计算机之前,他们是媒介。我们正在与人在交流,为人类而工作。”松本行弘说,“计算机并不介意我们如何与之交流,因此我们需要将焦点聚集于人类身上,聚集于人类如何关注编写程序或者在机器上操作应用程序,我们才是主宰者,它们是奴隶。”

自Ruby诞生之日起,松本行弘一直身体力行自己的思想,2009年,松本弘行在推动Ruby的发展的成就得到了普通民众的认可,当选为日本松江市荣誉市民。

 



类别:电脑科技 标签: ruby vs python

评论|留言:

验证码:验证码