关于python和ruby:为什么要使用它?

python and ruby - for what to use it?

我正在考虑学习一下Ruby和Python,我突然想到,Ruby/Python对什么有好处?什么时候使用Ruby,什么时候使用Python,或者Ruby/Python不用于什么目的?:)

我应该用这些语言做什么?

谢谢


它们主要适用于快速原型、快速开发、动态程序、Web应用程序和脚本。它们是通用语言,所以你可以用它们来做你想要的任何事情。你会有更少的开发时间(比方说,Java或C++),但是性能更差,静态错误检查更少。

您也可以在它们上开发桌面应用程序,但在运输过程中可能会出现一些小的复杂情况(因为您通常也需要运送翻译程序)。

您不应该对它们进行关键的代码或繁重的计算——如果您需要这些东西,可以使用更快的语言(如C)进行它们,并对代码进行绑定。我相信python比ruby更好,但我可能错了。(Otoh,Ruby有更强的元编程能力)


如果您想知道人们实际使用它们的目的,请查看python包索引、rubyforge,并搜索sourceforge甚至stackoverflow。

正如shylent所说,你可以很容易地进入神圣的战争,因为他们应该被用来做什么。Ruby和Python都很流行,特别是在原型设计方面,但是您也可以构建生产软件,如RubyonRails、Zope和Mercurial。

人们不会将它们用于性能关键(大多数不是)或接近金属的代码。


它们对一切都有好处。

Ruby有咀嚼文本文件的优势awk/perl风格。这在红宝石中稍微容易一点。其余的,我认为python有一个字符串边缘,这完全是主观的。看看Ruby有什么是Python没有的,反之亦然?以及后续blogpost http://regebro.wordpress.com/2009/07/12/python-vs-ruby/。

我把Python用于我需要做的每一件与编程相关的事情,并且将一直这样做,直到编程范式完全转变,把OO开发推向了石器时代。


为了避免圣战,也许我会给出另一种观点(不要求更多的信息来说明编程的有趣部分,这里认为这个问题很酷):

先学Python!

如果您还没有使用任何脚本语言,我建议您使用Python。python的核心比ruby的核心要干净一些,如果您首先学习了用python编写脚本的基本核心,那么您将或多或少地作为一个额外的学习ruby。

您将(因为您使用python)编写看起来非常干净并且具有良好缩进的代码。从一开始。

学习什么的困难是你真正要解决的!

如果您正在寻找一种新的生产语言来解决x问题,那么答案会变得更复杂。x是语言核心的一部分吗?这种语言实际上是为了解X而发明的吗?

如果问题是:我应该掌握哪种编程语言,并最终达到涅磐?我的答案是,我一点也不知道!(尽管如此,clisp、scheme48、erlang或haskell可能已经在我的最终名单上了)

PS。我知道这不是帖子中非常简单的问题的答案。Ruby能做的是Python做不到的,或者Python能做的是Ruby做不到的。

重点是,当你开始学习一些东西时,你通常会有一个隐藏的议程,所以你会一次又一次地用任何语言来解决你最喜欢的问题。

如果你真的想在没有日程表的情况下学习,我认为最基本形式的Python是一种干净、清晰的方式,并且在使用Ruby时应该能够使用相同的风格。

免责声明:比起Python,我更喜欢在产品(商业设置)中使用Ruby。在Windows上,我喜欢Ruby而不是python。在我在家做的事情上,我更喜欢红宝石而不是Python。我这样做是因为我真正喜欢解决的问题在Ruby中比在Python中更有趣。我的编程风格/习惯更适合Ruby。