我正在考虑学习ruby和python一点点,而且我想到了ruby / python的优点吗?什么时候使用ruby和python,或者什么ruby / python不适合? :)
我应该用这些语言做什么?
感谢
答案 0 :(得分:12)
它们主要用于快速原型设计,快速开发,动态程序,Web应用程序和脚本。它们是通用语言,因此您可以将它们用于您想要的所有内容。开发时间较短(比如Java或C ++),但性能更差,静态错误检查更少。
您也可以在它们上开发桌面应用程序,但是在运输方面可能会有一些小问题(因为您通常也必须运送解释程序)。
你不应该对它们进行重要的代码或繁重的计算 - 如果你需要这些东西,可以用更快的语言(比如C)制作它们并对代码进行绑定。我相信Python比Ruby更好,但我可能错了。 (OTOH,Ruby有更强的元编程)
答案 1 :(得分:6)
如果您想知道人们实际使用它们的内容,请查看Python Package Index,RubyForge,然后搜索SourceForge甚至StackOverflow。
正如狡猾的说,你可以很容易地进入关于他们应该用于什么的神圣战争。 Ruby和Python都很受欢迎,尤其适用于原型设计,但您也可以构建生产软件,如Ruby on Rails,Zope和Mercurial。
不会使用它们的是性能关键(大多数不是)或接近金属的代码。
答案 2 :(得分:2)
他们对一切都很好。
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开发推向了石头。
答案 3 :(得分:1)
为了避免圣战并且可能提出另一个观点,我说(没有要求更多关于编程问题的更多信息 - 这个问题很酷):
首先学习python!
如果您还没有使用任何脚本语言,我会推荐python。 python的核心比ruby的核心更清晰,如果你先学习python脚本的基本核心,你或多或少会学习红宝石。
您将(因为您使用python)编写看起来非常干净且具有良好缩进的代码 从一开始。
学习什么的困难是你实际上要尝试解决的问题!
如果您正在寻找一种新的生产语言来解决X,那么答案会变得更加复杂。 X是语言核心的一部分吗?该语言实际上是为解决X而发明的吗?
如果问题是:我应该掌握哪种单一的编程语言并最终到达Nirva?我的回答是,我没有线索! (CLisp,Scheme48,Erlang或Haskell可能应该在我的最终列表中)
PS。 我知道这不是回答帖子中非常简化的问题的地方。 什么可以ruby做python不能或什么可以python做ruby不能。
关键是,当你开始学习某些东西时,通常会有一个隐藏的议程,所以你试着一次又一次地用任何语言解决你最喜欢的问题。
如果没有议程你真的需要学习,我认为最基本形式的python是一种干净清晰的方式,你应该能够在使用ruby时使用相同的风格。
免责声明:我更喜欢在生产(商业设置)中使用ruby而不是python。在窗户上我更喜欢ruby而不是python。我喜欢红宝石而不是蟒蛇在家里做的事情。我这样做是因为我真正想要解决的事情在ruby中比在python中解决更有趣。我的编程风格/习惯往往更适合红宝石。
答案 4 :(得分:0)
Ruby和Python是旨在通过其简单性和表现力促进开发人员生活的语言-您可以在文章Ruby vs Python
中阅读更多内容在过去的几年中,Ruby的受欢迎程度略有下降,而Python吸引了很多新用户,尤其是来自Web开发人员之外的人。这是因为Python在数据处理和ML / AI中的广泛使用。
您也可以从会议议程中看到它。尽管Ruby会议专注于Web开发和Ruby性能,但Python会议更多关注数据科学和机器学习-从我最近参加的Python会议中了解我的经验Python in 2019 - Takeaways from PyCon CZ