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

  最近有一幅老图很火,很多人说这是“从语言来区分程序员的高低”。很多人说这幅图有问题,我说是你们的理解有问题,类似这样的对话在推特上面出现过多次,一般说着说着也就过了。

  不过突然发现,在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语言的程序员半句坏话吗?我认为讨论语言是有价值的,从表面上看,这篇新闻是在鼓励大家使用正确方式讨论语言,但是其内容只能让人对“语言之争”产生厌恶之情。这让我这样想要真正好好讨论语言的人情何以堪?

关于作者:

赵劼,网名老赵,洋名Jeffrey Zhao,目前就职于盛大创新院产品开发部,研究员。InfoQ中文站编辑,多次受邀于微软TechED,MSDN WebCast及各微软官方或社区会议中担任技术议题讲师。
博客地址:http://blog.zhaojie.me

it知识库程序员的档次?有没有搞错?!,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。