IT技术博客大学习 共学习 共进步

程序员的档次?有没有搞错?!

老赵点滴 - 追求编程之美 2011-02-10 22:20:09 浏览 4,482 次

    最近有一幅老图很火,很多人说这是“从语言来区分程序员的高低”。很多人说这幅图有问题,我说是你们的理解有问题,类似这样的对话在推特上面出现过多次,一般说着说着也就过了。不过突然发现,在CSDN――这个中国最大、最权威的IT类网站上居然发布了一篇名为“程序员的档次”的新闻,让我有些愤慨。CSDN首页是我常去的地方,在我印象中以前最令人不满的也最多是技术方面的硬伤吧,但这次就不明白了,这是故意的还是怎么的?我已经很难相信这是“无心之失”了。如果不是故意的,那么某些编辑同志的业务水平的确需要提高了。

    首先来看看CSDN这则新闻是如何理解这幅图的吧,下面的文字是它的“导读”,在此一字不漏地摘录:

    程序员是否可以以它熟悉的语言判断高下?国外某程序员对此表示认可,并绘出了一张有趣的有关于程序员的图像,箭头的意思是表示某语言的程序员比另一语言的程序员更高级。最高阶自然是神级Lisp和汇编语言,最后一个嘛,自己看吧。

    很显然,它认为这幅图在表达“某语言的程序员比另一语言的程序员更高级”。那么您的理解呢?如果您的理解与它相同,那么我建议您洗把脸,透口气,再仔细看看右上角的深底色框内的文字――如果还没有意识到其中问题,我想以您的某某能力,还是放弃程序员这门很有前途的工作吧。

    框里的文字是“Consider themselves superior to”,翻译成中文便是“认为他们比对方高级”。例如有个箭头从Lisp指向C,这说明“Lisp程序员自认为比C程序员高级”。这里的关键在于“自认为”,这是种“自我感觉”,因此这幅图不是根据语言为程序员排名,而是一个“使用某种语言的程序员”的“自我感觉良好程度”排行榜。而这幅图右上方的注释也说明了这一点:

    Ruby programmers consider themselves superior to everybody, but are not aware of the existence of non-web languages so on this chart com in above Perl Programmers.

    当然,我这里不想去谈“正确性”云云,因为这一定谈不出结果来。这种“自我感觉”既难论证,又明显不可对整个语言社区一概而论。其实就图片上的文字来看,我的感觉也是有大量调侃的意味在里面(如把“People who refuse to use the word Ajax”也作为单独一类程序员)。那么,别人既没想要分出高下,又是在开玩笑(连CSDN那篇文章都能意识到这点),我们又何必当真?

    其实我也一直在努力去“善意”地理解这则新闻,我也想,可能它的“导读”也是在开玩笑的,但是我发现即便在最后,它还是在谈论“语言”和程序员的“水平”关系,甚至还是“档次”问题(如HTML等):

    为什么Java会地位这么低呢?除了作者是PHP出身外,也许和欧美国家Java程序员太多,平均水平更低有关?

    当然,有一点所有自称程序员的同学注意了,不要再将HTML(其实还包括ASP、JSP)称为一种编程语言……

    令人感到可笑的是,在这样一则新闻里面,还出现了冠冕堂皇的“方向性引导”:

    我们想特别指出的是,各种语言都有其自身的长处和缺点,笼统比较优劣毫无意义。而且就目前一般的编程任务而言,基本上各种语言都能胜任,开发效率也和使用者的熟练程度密切相关。语言的此消彼长,关键在于社区,如果你热爱哪一种语言,请到CSDN开设博客,多写自己的心得、经验、各种层次的教程,让更多人体验到这种语言之美,扩大自己的社区。我们欢迎有质量有内容的语言和框架比较的技术文章,坚决排斥浪费自己和他人时间和资源的口水战。

    原本这幅图并没有挑起争论的意思,而这篇新闻却一边煽风点火,一边道貌岸然地说“大家要讲道理”。就我看来,这篇新闻要不是故意在搬弄是非,便只能说是十分愚蠢了。

    但是,点燃我愤怒的却是新闻里的最后一句话:

    最后,不要在下面的评论里花费太多口舌,因为已经有国外的同学说了:“使用最佳工具完成工作的程序员”鄙视“对哪种编程语言好争论不休的人”

    不知道是不是我敏感了,我觉得这句话的重音是在“国外的”三个字──如此普通的一句话,我相信国内也无数人说过,为什么要说是“国外的”?如果真是某位国外同学,那么为什么不说明是谁呢?这让我感觉是类似“月亮是国外的圆”、“国外程序员水平高”的意思,我很反感。丝毫不夸张地说,如果这篇新闻作者在我面前,我很可能就直接“甘礼良”、“草泥马”或是“法克鱿”地招呼上去了。

    这篇新闻的恶劣之处,在于进一步扭曲了“语言讨论”的意义与价值。之前有人说语言之争意义不大吧,相对这个还算号,至少说的是语言之间没有必要分出高低,只是语言,和使用这个语言的程序员没有关系――就算争论双方的潜意识里有这样的看法,但是还真没见过有人如这篇新闻一样,赤裸裸地将使用这个语言的程序员拖下水,说语言能够说明程序员的水平。如此这般,还会有人认真地讨论技术么,还不是不分高低誓不罢休了?如此这般,居然还在进行“讨论方向”的引导。

    引导?我靠。

    没错,我是在批判Java,是在批评它是种不思进取的劣等语言――但我说过Java语言的程序员半句坏话吗?我认为讨论语言是有价值的,从表面上看,这篇新闻是在鼓励大家使用正确方式讨论语言,但是其内容只能让人对“语言之争”产生厌恶之情。这让我这样想要真正好好讨论语言的人情何以堪?

    真是“猪一般的队友”。

建议继续学习

  1. 程序员技术练级攻略 (阅读 35,043)
  2. 再次写给我们这些浮躁的程序员 (阅读 17,024)
  3. 给程序员新手的一些建议 (阅读 12,945)
  4. 给年轻程序员的建议 (阅读 10,922)
  5. 在西方的程序员眼里,东方的程序员是什么样的? (阅读 9,823)
  6. 做个懂产品的程序员 (阅读 9,683)
  7. 每个程序员都应该有张木桌 (阅读 9,563)
  8. 再谈“我是怎么招聘程序员的” (阅读 8,643)
  9. 如何在面试中发现优秀程序员 (阅读 8,102)
  10. 架构师给程序员的一封信 (阅读 7,862)