Ruby 和 Python 相比有什么优势和缺陷

Python011

Ruby 和 Python 相比有什么优势和缺陷,第1张

这个问题争论太多了。其实你可以不这么看。如果仅仅是拿来用,两个语言都值得学习。

最大的区别就是python的使用者多,python略快些。你自己可以展开想象。使用者多是一个什么 场景。通常意味着什么 东西都有人帮你做,拿来用就可以了。但是用得人多了,新手与高手都有。

ruby相对来说对得人少。不过有些高手,而且ruby做的每个产品都比较精致。相对来说python同一个方向往往有多个产品可以选择,ruby往往只有一个。

至于实际使用体验。真没有什么大差别 。开发效率方面,两个语言差不了多。可能python还略快些。

在计算机语言排名上,python要远高于ruby。但是与php, java, javascript, c比还有些距离。对于个脚本语言来说,已经很高了。脚本语言之王估计就是python和perl,不会轮到ruby

python用了10几年了,最近也在用ruby。没有什么非此即彼的问题。需要用就学。

编程风格上讲,python一直希望它的程序员能够KISS和DRY原则。减少多样性。而ruby则相反,总是鼓励程序员快乐编程,一个问题尽量多种解法,多种表达方法。不过最终结果应该是一致的。总有一个相对最完美的方案在前面。两个语言殊途同归。

对于老程序员我强烈推荐python,中高级程序员来说ruby是个很好玩的东西。初级程序员用python也相对更好一些。简单强大,受益终生。

perl基本已经被淘汰,在各方面几乎已经没有优势,虽然说还正在开发perl6啊什么的,不过基本上大势已去。虽然在部分场合还有应用,不过大部分都只是因为历史遗留问题而已,也就是说一些老软件用这个,部分地方还因为各种原因没去替换这些老软件而已。

从web的角度来看,这四个语言都做过web开发,不过后来php代替了perl。而现在作为python的django构架和ruby的Ruby On Rails构架正在逐渐代替php。因为php也有其天生的缺憾,例如对于模板分离式编程不是天生的支持导致的。所谓模板分离也就是由网页制作和美工人员写纯网页,又程序员写纯程序,然后二者结合。在这个模式之前就是典型的php默认,代码和页面都是一个php文件并未分离。

不过php在现在还是有其顽强的生命力的,这也是有其历史遗留原因的,毕竟太多大型网站、大型项目都使用php,一时之间改变还很难。

排除web构架以外,python和ruby都差不多的,其对各种库的支持也都相似。总体来说现在python的普及率要高一点,可能因为一种先入为主的优势吧。高就高在几乎所有linux发行版,OSX系统都自带python,但是ruby则不然。

python在某些非常轻量级的桌面任务上可能也有优势,因为自带一个gui库,tinkter,不过这一点优势应该很小,因为毕竟太轻量级了,就是说太简单了,用处一般。

从语法的角度来说,未来肯定还是python、ruby这种开发更简单的语言的天下,php还保留着c/c++遗留下来的各种语法诟病,要是只论纯开发速度肯定不如python、ruby的强,这里主要说的web,因为php开发桌面程序那还是随便玩玩的,虽然有吧。