一个关于Python, Ruby, Scala的隐喻

一直以来,看Python的语言设计,总是觉得很舒服,而每次学Ruby,都觉得有那么一点点说不上来的不对劲,结果就是学了好几次Ruby,都不敢说学会。总有人说,如果你喜欢Python,那么你一定会喜欢Ruby。以我为例,可以说明,不尽然。

后来学习Scala,感觉和以上两种语言又有些差别,但仍然无法言表。

今天突发奇想,找到一种隐喻,能够描述我对于Python和Ruby之间不同感受。

想象你手里拿着一个碗,不同的语言,就是在你的碗里盛了不同的东西,而碗的大小,代表着你的能力。

Python,就像是米饭,即使饭量已经超过了碗的容量,但你依然可以控制住不让它洒出来。而且如果你仔细观察它,每一粒米都清清楚楚。如果你的碗足够大,你就可以轻松的把埋在下面的米翻出来,看看它长什么样子。

Ruby,就像是面条,如果你的碗不够大,而面条的量又很多,多到会从晚的边沿掉出来,而这时,你不得不手忙脚乱的用筷子这边挑一下,那边挡一下,以防它洒出去。而且,到底面条的这一端通到哪里,你是无法一眼看出来的。

Scala,就像是冰淇淋,刚刚拿到的时候,虽然它也很大,但因为它冻着,所以用一个小碗还可以对付,但不幸的是,冰淇淋在慢慢融化,如果你没有及时换成一个大碗,它就会完全失控,任何补救都不能防止它溢出去。当然了,在还没化的时候,它看起来很美。

我自己对这个隐喻非常满意,非常清楚的描述了我对于这几种语言的感觉。最后总结一下:

这篇文章的作者是个吃货。