python 和 ruby - 有啥用呢? [关闭]
Posted
技术标签:
【中文标题】python 和 ruby - 有啥用呢? [关闭]【英文标题】:python and ruby - for what to use it? [closed]python 和 ruby - 有什么用呢? [关闭] 【发布时间】:2010-11-12 02:01:11 【问题描述】:我正在考虑学习一点 ruby 和 python,我突然想到,ruby/python 有什么好处?何时使用 ruby,何时使用 python,或者 ruby/python 不适合什么? :)
我应该用这些语言做什么?
谢谢
【问题讨论】:
这个问题应该被标记为主观的。而且,无论如何,我们还没有足够的 python vs ruby Holywars 吗? p.s. python > ruby (nudge-nudge) 重复:***.com/questions/551465/…、***.com/questions/234721/…、***.com/questions/673964/…、***.com/questions/405165/… 请搜索“[python] [ruby]”并阅读所有这些问题。之后,找到一种方法让你的问题与众不同。 ***.com/questions/tagged/ruby+python @S.Lott Cool,只需要在文本前面加上一个随机的 a8s8df8as8df8as89fa89d 值,然后现在是唯一的。你会不会让一个发帖的人会读到任何东西?读书的人问得少,因为他们忙于阅读:D而且问题的重点也不好。我为什么要学python??首先考虑要编程什么,你将获得的公众,目标操作系统/环境,然后学习需要的东西。要学习随机的东西,它必须尝试学习中文或如何捕捉独角兽越好。 【参考方案1】:它们主要适用于快速原型设计、快速开发、动态程序、Web 应用程序和脚本。它们是通用语言,因此您几乎可以将它们用于您想要的所有内容。您将拥有更短的开发时间(与 Java 或 C++ 相比),但性能更差,静态错误检查更少。
您也可以在它们上开发桌面应用程序,但在运送时可能会有一些小麻烦(因为您通常也必须运送解释器)。
您不应该对它们执行关键代码或大量计算 - 如果您需要这些东西,请使用更快的语言(如 C)制作它们并为代码进行绑定。我相信 Python 在这方面比 Ruby 更好,但我可能错了。 (OTOH,Ruby 的元编程更强大)
【讨论】:
嗯,将 C 绑定到 ruby 非常容易(或者,至少对我来说是这样)。除此之外,我同意你的看法。 Ruby 在元编程方面的优势在哪里? 您可以轻松地将解释器打包到您的应用程序中,并使用 py2exe 等各种工具将其作为二进制文件分发。 如果您没有为 Ruby 编写 C 扩展的经验,请不要说“我相信 Python 在这方面比 Ruby 更好”。 :) 我会向新人推荐 vb 语法,因为会获得很多使用脚本或那些新语言时不具备的基础知识。所以,我学习 php 是因为我喜欢网站。后来我尝试将它用作带有许多棘手应用程序的桌面应用程序,例如 bambalam 编译器(喜欢它们,缺点是 php5.2 !!)但它允许我构建 ~512Kb Windows APP,包括 GUI(gtk/winbuilder) exe中的框。无论如何 PHP 不适合桌面 GUI,所以我学习了一些 vb 语法风格的语言来开发简单的应用程序。 (如拖放ftp)。想想你想要/需要开发什么,然后选择【参考方案2】:如果您想知道人们实际使用它们的目的,请查看 Python Package Index、RubyForge,并搜索 SourceForge 甚至 ***。
正如 shylent 所说,你很容易就他们应该用于什么而陷入圣战。 Ruby 和 Python 都特别适用于原型设计,但您也可以构建生产软件,如 Ruby on Rails、Zope 和 Mercurial。
人们不会将它们用于性能关键(大多数不是)或接近金属的代码。
【讨论】:
【参考方案3】:它们对一切都有好处。
Ruby 在处理文本文件 awk/perl 风格方面具有优势。这在 Ruby 中稍微容易一些。 其余的,我认为 Python 有一个字符串优势,而且它完全是主观的。请参阅What does Ruby have that Python doesn't, and vice versa? 和后续博文http://regebro.wordpress.com/2009/07/12/python-vs-ruby/。
我将 Python 用于我需要做的每件与编程相关的事情,并且会一直这样做,直到编程范式发生彻底转变,将 OO 开发推入石器时代。
【讨论】:
【参考方案4】:为了避免圣战并可能给出另一个观点,我说(没有要求提供更多关于编程的有趣部分的更多信息,即问题-ere 认为这样做很酷):
先学python!
如果您还没有使用任何脚本语言,我会推荐 python。 python 的核心比 ruby 的核心要干净一些,如果你先用 python 学习脚本的基本核心,你或多或少会学习 ruby。
您将(因为您使用 python)编写看起来非常干净且缩进良好的代码 从一开始。
关于学习什么的困难是你实际上会尝试解决的问题!
如果您正在寻找一种新的生产语言来解决 X,那么答案会变得更加复杂。 X 是语言核心的一部分吗?这种语言实际上是为了解决 X 而发明的吗?
如果问题是:我应该掌握哪种单一编程语言并最终达到 Nirva?我的回答是,我不知道! (虽然 CLisp、Scheme48、Erlang 或 Haskell 可能应该在我的最终名单上)
PS。 我知道这不是帖子中非常简化的问题的答案。 ruby 能做什么而 python 不能或 python 能做什么 ruby 不能。
关键是,当你开始学习某件事时,通常会有一个隐藏的议程,所以你会一次又一次地尝试用任何语言解决你最喜欢的问题。
如果你真的想在没有议程的情况下学习,我认为 Python 最基本的形式是一种干净明快的方式,你应该能够在使用 ruby 时使用相同的风格。
免责声明:我更喜欢生产(商业设置)中的 ruby,而不是 python。我更喜欢 ruby 在 windows 上的 python。在我在家做的事情上,我更喜欢 ruby 而不是 python。我这样做是因为我真正喜欢解决的问题在 ruby 中比在 python 中解决更有趣。我的编程风格/习惯往往更适合 ruby。
【讨论】:
【参考方案5】:Ruby 和 Python 是旨在通过其简单性和表现力来促进开发人员生活的语言 - 您可以阅读文章 Ruby vs Python
了解更多信息在过去几年中,Ruby 的受欢迎程度略有下降,而 Python 正在获得大量新用户,尤其是来自 Web 开发之外的用户。这是因为 Python 在数据处理和 ML/AI 中的广泛使用。
您也可以从会议议程中看到它。虽然 Ruby 会议侧重于 Web 开发和 Ruby 性能,但 Python 会议更侧重于数据科学和机器学习 - 查看我最近参加的 Python 会议的收获Python in 2019 - Takeaways from PyCon CZ
【讨论】:
以上是关于python 和 ruby - 有啥用呢? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章