告别ruby,拥抱python

从语法角度来看,ruby比python更优雅一些。衡量的指标有:1、语法的简单纯粹统一,我所了解的语言里,这方面的典范是shceme。2、易用的API,不光是要有合适的函数名,有时候要加一点语法糖(这个和第一条就有些冲突了,但我们很多时候都要作出类似的权衡),才能让编程像书写英文一样流畅。总的说来,这点差别不是太大。

从应用的范围来看,python的应用更广泛,听说很多的游戏开发会用python,但大家基本上只用ruby做web开发,甚至可以说rails就是一切。虽然Matz一直不满意ruby on rails这个叫法(他觉得应该叫rails on ruby),但不得不说,ruby正是因为rails而变得流行起来了,我一直在python里找一个类似rails的框架,发现django,pyramid很像,它们在python里应该算很大的框架了,但和rails一比又显得不完整,rails的厉害之处在于,它虽然很庞大,但是并不笨重,开发起来不会觉得很繁琐,反而会很方便,效率很高。

谈谈性能问题,ruby一直被人批评的就是性能不如python。由于我没开发过大规模、高性能的网站,所以这点我也没什么感觉。不过就我个人的经验来说,大部分的性能不佳都是编程不谨慎,还没有到要归罪于语言执行效率低的地步。当然如果这个问题确实影响到你了,你也应该果断抛弃。在程序员的时间和机器的时间之间做一个权衡,看看哪一个更值钱。

最后还是要面对一下现实,来看一下这些语言的现状。

好吧,它们的处境都不怎么样,但ruby的明显更糟一些,python叫的上名的至少还有豆瓣,很多大公司内部也在用,虽然不是主流。更可悲的是很多程序员都不知道ruby,或者只是个传说。最近听我呆过的一家创业公司的老板说,他们也不招ruby了,为了降低成本。

那么,我为什么还要选择这些语言?因为我发现,当我学会ruby以后再回头写php,竟然非常抵触和厌恶,当我看着那丑陋的代码,实在不情愿敲击键盘(自己想想都觉得搞笑唉),那么java呢,一行代码非要写成十行,太正经了,我觉得java程序员都应该穿着西装写(确实有人这么干)。python呢,算是一种妥协,不过它们是如此的相像,只要你学过一种语言再去看另一种语言,基本上能猜个八九不离十了。

最后想想,这些都是借口,根本原因是我已经变懒了,而人生苦短……

by Jungledrum