作为一名半路出家的菜鸟程序员,本来还轮不到我来对编程语言鄙视链这个问题发表看法。因为现在的我连一个Ruby语言都还没有做到熟练运用,哈哈。
但我这个不成熟的小想法一旦出现,就不吐不快。
大部分争论语言孰优孰劣的人,其实根本都不知道自己的争论本质上是什么。
大部分人的争论其实等同于:
你有一台挖掘机(A语言),还有一把铁锹(B语言)。
任务1:你需要把一千吨沙子装车,这时候当然用挖掘机效率更高了,你能怪铁锹太低效吗?
任务2:考古挖掘到最后一步了,需要非常小心,只能用铁锹一点点地挖最后一点土,这时候你能怪挖掘机不能胜任这么精细的工作吗?
挖掘机当然也分好坏,铁锹当然也分好坏。但那么多种编程语言虽然都叫编程语言,但他们其实不一定是同一类事物。
拿不同类的事物做比较,有什么意义呢?
在某一业务场景下,找出“号称”适合这一场景的几种语言,然后经过比较,找到最合适这个场景的语言,才是最正确的做法。
那为什么大家都觉得自己用的语言是最好的呢?因为从不知挖掘机为何物的人,当然觉得用铁锹挖沙子已经很高效了,起码比用手高效多了。
对于手里只有锤子的人,整个世界都是钉子。对于脑子里只有铁锹的人,铁锹就是挖掘机。