Hello World
Spiga

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

2010-08-28 02:43 by 老赵, 6207 visits

最近有一幅老图很火,很多人说这是“从语言来区分程序员的高低”。很多人说这幅图有问题,我说是你们的理解有问题,类似这样的对话在推特上面出现过多次,一般说着说着也就过了。不过突然发现,在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语言的程序员半句坏话吗?我认为讨论语言是有价值的,从表面上看,这篇新闻是在鼓励大家使用正确方式讨论语言,但是其内容只能让人对“语言之争”产生厌恶之情。这让我这样想要真正好好讨论语言的人情何以堪?

真是“猪一般的队友”。

Creative Commons License

本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名赵劼(包含链接),具体操作方式可参考此处。如您有任何疑问或者授权方面的协商,请给我留言

Add your comment

58 条回复

  1. 链接

    seerhut 2010-08-28 03:26:44

    话说这图挺有意思的,很有代表性,很典型,呵呵

  2. 链接

    seerhut 2010-08-28 03:27:42

    现在可能需要把erlang和scala也画进去了

  3. HCOONa
    218.9.124.*
    链接

    HCOONa 2010-08-28 07:11:52

    这么早啊。 CSDN有点太乱了,不喜欢,呵呵。 这个图有点意思啊,哈哈。

  4. Bill Lo
    221.4.199.*
    链接

    Bill Lo 2010-08-28 08:05:28

    最近都沒看到老趙寫技術議題文章了啊

  5. bqrm_521
    125.39.109.*
    链接

    bqrm_521 2010-08-28 08:44:22

    CSDN好像一直是一个IT行业最大的八卦娱乐站点,最权威这个,我从来不认可。

  6. 左手
    112.65.176.*
    链接

    左手 2010-08-28 11:35:24

    javascript之上的是ajax。 php之上的是oo php。 太没水准了。

  7. 老赵
    admin
    链接

    老赵 2010-08-28 11:42:04

    @Bill Lo: 最近都沒看到老趙寫技術議題文章了啊

    围绕着技术就可以了,呵呵。

  8. 老赵
    admin
    链接

    老赵 2010-08-28 11:43:57

    @左手: javascript之上的是ajax。 php之上的是oo php。 太没水准了。

    所以说是纯调侃,更像是从一些程序员古怪的习性出发进行的分类。

  9. reus
    221.172.68.*
    链接

    reus 2010-08-28 11:51:13

    有沙发这样的读者,就有这样的文章。

  10. 东方佳木
    116.204.64.*
    链接

    东方佳木 2010-08-28 12:32:46

    挑错: 之前有人说语言之争意义不大吧,相对这个还算""

  11. xiongli
    58.41.85.*
    链接

    xiongli 2010-08-28 13:12:08

    csdn是故意哗众取宠的 这样可以吸引流量 csdn也就是一个商业站点 难道你还真当回事了?

  12. 每日一狗
    115.193.171.*
    链接

    每日一狗 2010-08-28 14:30:48

    技术问题,不懂的说~~~

  13. 链接

    seerhut 2010-08-28 15:17:37

    为啥老赵解释这么清楚了还有读不懂这图的,连我也莫名中枪。。还是根本没考虑我在说什么,只是认为我在说什么就一棒子闷过来。。。

  14. Haipeng
    74.53.3.*
    链接

    Haipeng 2010-08-28 16:46:18

    CSDN上经常出这种狗屎东西,不看就得了,没必要动气

  15. Duron800
    220.181.77.*
    链接

    Duron800 2010-08-28 23:26:16

    CSDN好像一直是一个IT行业最大的八卦娱乐站点,最权威这个,我从来不认可。

    非常同意。老赵骂得好,支持!

  16. Duron800
    220.181.77.*
    链接

    Duron800 2010-08-28 23:28:55

    围绕着技术就可以了,呵呵。

    是太忙了?还是太懒了?呵呵。

  17. 老赵
    admin
    链接

    老赵 2010-08-28 23:32:09

    @Duron800

    一是懒,二是话题比较少,最近搞的东西感觉都没到可写的地步。

  18. 法科时时有
    174.121.161.*
    链接

    法科时时有 2010-08-29 11:36:57

    其实我觉得老赵有时也是挺超蛋的,尤其是文章最后的一段,你骂csdn就骂csdn就好了,干嘛又扯出批判java的道貌岸然样,先不说西方国家怎么样,你在盛大应该有机会话跟印度工程师交流一下,为什么世界上这么多大工程都采用java开发,华尔街晚上休息的时候,是印度人在用java搭建的系统在地球另一侧给他们维护。

    整天站在一个小小编码员的角度就到处大喊大嚷java略质,搞到跟王朔一样靠骂出名,你看上的女朋友都是钟无艳、你吃的都是垃圾、你用的都是非主流。对不起,我没有对你人身攻击,我只是批判你喜欢你欣赏的东西而已。

  19. DJ
    183.3.183.*
    链接

    DJ 2010-08-29 12:56:47

    @法科时时有

    怎么总有这样的人啊...老赵强调他只是批判java语言层面上的东西不少于5次了吧...老用"java做了这么多项目,java有什么可能垃圾呢?!"这种逻辑来说,除了自证自己理解能力和逻辑能力略低之外,还有什么好处啊...

    建议你再看一次文章,看了之后还想骂,那...就骂吧.

  20. zhaohongjian
    218.58.59.*
    链接

    zhaohongjian 2010-08-29 16:12:11

    早先在CU上就见过这个图,双向箭头比较有意思。

  21. jianshen
    117.84.246.*
    链接

    jianshen 2010-08-29 16:37:41

    语言谈不上劣等。 要我说java相对C++,C#,scala还是有很大优势的。 面向对象语言只要这样就刚刚好。就像C对于汇编语言的替代就刚刚好。 java语言对象就是对象,1+1=2,没有其他乱七八糟的东西。是面向对象的思想的完美体现。同时也如C一样保持得非常简约。

  22. gl
    123.138.30.*
    链接

    gl 2010-08-29 17:59:13

    老赵很少有这么气愤吧,有良知。

  23. 老赵
    admin
    链接

    老赵 2010-08-29 18:31:55

    @jianshen

    有primitive types在,Java的面向对象就不够。还有,语言偏要追求所谓“纯粹”做什么呢?你可以说“纯粹”于是可能容易掌握,容易普及,但不能说“纯粹”就是好。就像我不会说“支持范式多”就是好,C++支持范式也很多,但是不好。

    Java的历史地位很重要,很好,但这要在15年前来看。但是就从语言本身来看,2010年的眼光来看,无论是从语言设计来说也好,开发效率上来说也好,都是劣等的……语言当然有劣等的,设计一个劣等语言太容易了,我每年都能设计出很多个,呵呵。

  24. 老赵
    admin
    链接

    老赵 2010-08-29 18:38:39

    @法科时时有

    如果语言用的人多,就说明它是数一数二的优秀语言的话,那么世界上人口最多的国家,在你看来也是数一数二的优秀国家了吧。

    如果某个语言开发的工程规模大,就说明它开发效率高,那么你应该很支持历史上造长城,开运河的方式方法,觉得它们肯定比现在造个住宅楼的工作效率高多了。

  25. jianshen
    117.84.246.*
    链接

    jianshen 2010-08-29 19:28:56

    java的语言设计我认为非常好。面向对象足矣。 剩下不足的由C/C++弥补。 C/C++/java一脉相承, 各取所需。

  26. 老赵
    admin
    链接

    老赵 2010-08-29 19:59:24

    @jianshen

    来谈个实际的吧:我想知道您对C#的Lambda表达式,扩展方法,闭包怎么看,我觉得一个语言如果没有类似特性的话,使用起来实在太痛苦了。

  27. jianshen
    117.84.246.*
    链接

    jianshen 2010-08-29 20:20:18

    Lambda表达式, 闭包我也知道一点的。 Lisp就有。后来被C取代, 然后是C++, 再是Java, C#,现在C#又有Lambda, 闭包。 本质上等于回到Lisp的起点。

  28. 老赵
    admin
    链接

    老赵 2010-08-29 21:07:00

    @jianshen

    呃,好吧,我明白你的意思了。

  29. 链接

    杨永 2010-08-30 12:00:17

    就coding而言。。。我觉得国内的其实很强。。。但是核心技术嘛。。都掌握在国外。。。

  30. 链接

    空明流转 2010-08-30 12:59:08

    老赵你太不淡定了。。。

  31. 链接

    空明流转 2010-08-30 13:00:23

    老赵你这个关于Cpp就不好的论断,是不是有点奇怪了。。。

  32. haskeller
    124.16.137.*
    链接

    haskeller 2010-08-30 13:14:14

    纯论语言语法特性,coq 的dependent types, impredicative types 完胜 Haskell,即使算Generic Haskell,遑论F#, 更别说C#了,按你的说法C# 也是劣等语言了.

    工业界的语言要考虑到普罗大众的接受程度。

  33. flapfly
    61.187.18.*
    链接

    flapfly 2010-08-30 13:46:04

    csdn可能也是借机炒作一把吧

  34. amen
    124.127.119.*
    链接

    amen 2010-08-30 14:13:46

    哎,又给别人打广告了……

  35. Rock.C
    207.46.55.*
    链接

    Rock.C 2010-08-30 15:15:21

    这个图就是个joke嘛~lz不用太认真。

    不过我觉得“people who insist on calling HTML a programming language”放在最下面还有有点道理的,哈哈

  36. 老赵
    admin
    链接

    老赵 2010-08-30 16:19:39

    @haskeller: 工业界的语言要考虑到普罗大众的接受程度。

    没错,所以C#、Scala、Python、Ruby等等都是不错的语言,而Java只能说是二流语言……

  37. ikbear
    221.12.174.*
    链接

    ikbear 2010-08-30 16:48:48

    老外的那篇文章我也看过,我本来想把这个图贴到自己博客上去充个数,后来感觉太水了。没想到CSDN连这么水的东西发上去还出这种误解,继而产生误导。

    程序员所干的工作,不管使用什么语言,都是要付出逻辑思考的过程。这种思考力的“等级”有没有其判断的标准,我不知道,但我觉得通过其使用的语言来判断是很不合理的。事实上,很多程序员会多种语言甚至使用多种语言工作,也无从判断。

    考虑这种“档次”的程序员的档次又如何呢?

  38. CSDN刘江
    72.14.189.*
    链接

    CSDN刘江 2010-08-31 00:34:33

    本来就是一篇大家看了笑笑而过的文章,不必这么较真吧。我不是已经写了吗:

    不知道为什么这幅很老的图(最早出自2006年8月Luke Welling的一篇博客)又被翻出来,在国内外技术论坛里讨论,也许因为编程语言太多了,各种语言都有不少使用者,累了,比较一下当放松吧。 大家不用较真,本来作者最初也是为了好玩的

    透露一点内情:里面大部分文字是我写的,但有些部分保留了其他人包括cnbeta的话,所以显得前后不太一致。呵呵。

  39. CSDN刘江
    72.14.189.*
    链接

    CSDN刘江 2010-08-31 00:37:37

    另外,说此图狗屎啊、毫无价值也不那么客观。这幅图至少上过两次Reddit的头条,那应该算是编程Geek最集中的网站之一了吧。再说,始作俑者是PHP语言的大佬级人物之一。

    我为什么又对这个较起真了呢?就此打住。

  40. 老赵
    admin
    链接

    老赵 2010-08-31 09:05:17

    @CSDN刘江

    图老师这下我眼镜咣叽掉地上了——所以我今天换了备用的。

    其实我觉得这幅图是有价值的,但关键还是解读方法,如果解读的方式是各类程序员心高气傲的程度,那么就是很值得把玩的,也很有趣。

  41. luotong
    123.9.208.*
    链接

    luotong 2010-08-31 09:18:18

    罪魁祸首是“国外的”这三个字让老赵动了肝火,我也觉得这三个字很多余,难道国内的同学没说过吗?国内的同学说的就可以被忽略吗?

  42. 东东
    115.196.204.*
    链接

    东东 2010-08-31 14:17:46

    唉,老赵,博客园又吵架了,还是你这好!

  43. zhaiduo
    89.248.169.*
    链接

    zhaiduo 2010-08-31 14:22:15

    原图只是说明各个语言之间的关系吧,被歪曲了

  44. 老赵
    admin
    链接

    老赵 2010-08-31 15:43:43

    @zhaiduo

    你图片和文章都没看。

  45. 链接

    seerhut 2010-08-31 18:03:25

    图片对某些程序员心态的把握还是很准的,我在进计算机这行前也略有点那个意思。。。呵呵 不过有些国情还是差别挺大,例如ada。。我从没见过用ada的程序员。

  46. shoru
    114.113.197.*
    链接

    shoru 2010-09-01 16:56:40

    请问你的博客模板是minyx lite 还是 minyx pro ?

  47. winter
    61.172.247.*
    链接

    winter 2010-09-02 16:29:20

    Luke Welling:"从前有个人,长得像洋葱,结果就哭了"

    CSDN:"转:'从前有个人,长得像洋葱,结果就哭了',像洋葱会辣到自己的眼睛,但是我们不能以貌取人"

    老赵:"大哥,有你这样听笑话的么?"

    CSDN刘江:"这个笑话流传甚广,应该有值得一笑的地方啊"

  48. winter
    61.172.247.*
    链接

    winter 2010-09-02 16:43:19

    CSDN刘江: 另外,说此图狗屎啊、毫无价值也不那么客观。这幅图至少上过两次Reddit的头条,那应该算是编程Geek最集中的网站之一了吧。再说,始作俑者是PHP语言的大佬级人物之一。

    厚道地说一句 刘江同学 其实你只是理解错了这个作者的意思,啥叫 "Consider themselves superior to"?就是自以为比XXX强

    人家Luke Welling这幅图是讽刺那些天天拿语言做文章,以为自己靠着用的语言就比别人强的程序员 你倒好 把Luke Welling搞成以程序员熟悉的语言判断程序员高下的人了 这完全是会错了作者的意 把作者划到他讽刺的那群人里了

  49. 21天后
    58.34.23.*
    链接

    21天后 2010-09-02 22:39:08

  50. 21天后
    58.34.23.*
    链接

    21天后 2010-09-02 22:40:31

    园林净化器,火药味十足的文章?

  51. 问个问题
    222.92.145.*
    链接

    问个问题 2010-09-03 11:28:22

    @老赵

    有没有什么方法在对DataTable进行操作之前做统一的判断呢,如:

    string foo = DataTable.Rows[0]["ColName"].ToString();
    

    有没有什么方法去对所有的这类操作统一地去做DataTable判空操作呢?可不可以去重写DataTable的什么方法获取事件呢?请教下!

  52. Mattress
    210.193.6.*
    链接

    Mattress 2010-09-03 14:52:24

    呵呵,这种比较是无聊中的无聊,语言极端分子~~~

    小平同志当年说:不管白猫黑猫,抓到耗子就是好猫!

  53. wanin.lezu
    116.28.125.*
    链接

    wanin.lezu 2010-09-04 08:40:37

    蛋定,蛋定.. 莫激动。。呵呵

  54. vincent
    113.97.77.*
    链接

    vincent 2010-09-06 17:47:14

    老赵,这个我顶你, 顶顶顶,我顶顶顶.

  55. Rimifon
    113.240.36.*
    链接

    Rimifon 2010-10-10 13:31:04

    哦,老赵大愤了……

  56. YeeBoo
    60.247.46.*
    链接

    YeeBoo 2011-07-31 15:34:45

    无意之中看到这篇文章。

    我先是仔细看了一下那个图。挺有意思的。浏览了一下文章,顿觉无趣。何必呢。

    又扫了一眼回复。唉,怎么说呢。

    你让我这种“深爱着” Java 的穷学生情何以堪呀。您对 Java 语言(也许还包括其他无辜的语言)的偏见,使您在我心中的地位大打折扣。让我感觉您就是一个“传教士”。

    道不同,不相为谋。

    冒犯之处,还望见谅。

  57. 老赵
    admin
    链接

    老赵 2011-08-01 13:24:11

    @YeeBoo

    说我“偏见”?既然你觉得Java好,那么就来应对一下我提出的具体理由吧。至今没有Java爱好者跳出来说:“你这么写代码不对,Java可以这样写”,听来听去都是些大道理。大道理知道不?传教士的最爱。

  58. 上海装潢公司
    114.95.135.*
    链接

    上海装潢公司 2016-12-10 17:20:44

    失散18年后相认上海装饰公司 男子猥亵殴打女子上海装潢公司 2017节假日安排松江装潢公司 铝厂向黄河排污九亭装潢公司 外卖员强奸案告破上海松江装潢公司 持枪杀人逃12年松江装修公司 赴美嫁网友遭毒打泗泾装潢公司 协警遭狱警鄙视洞泾装潢公司 偷窥如厕反被拍松江装饰公司 阿富汗击毙塔利班上海松江装修公司 曝昆凌录节目呕吐上海装潢

    十大幸福城市出炉九亭装修公司 为偶像直播间炫富九亭装饰公司 老人赚骗子51万泗泾装饰公司 诺基亚手机回归洞泾装修公司 偷6只蓝孔雀吃掉洞泾装饰公司 去厕所需挂如厕牌洞泾办公室装潢 邓超被错认彭于晏公司装潢松江

    男童输血染艾滋新凯家园装潢公司 老人赚骗子51万润江花苑装潢公司 山东失联女已遇害同润菲诗艾伦装潢公司 杨利伟回应敲击声上海装潢设计公司 禁忌浪漫爱情电影《无法触碰的爱》上海装修设计公司 奥朗德宣布不连任上海装修公司 科长被情人举报上海装饰设计公司 曝陈妍希提前当妈同润菲诗艾伦装修公司 高院判聂树斌无罪同润菲诗艾伦装饰公司 孪生姐妹捐遗体金港花园装潢公司 北京公交起火冒烟佘山装潢公司 男学生求婚女老师松江办公室装修公司 退学后烧炭自杀松江厂房装修公司 特朗普提太空政策松江装潢设计公司 校长见证情侣表白漕河泾办公室装修 偷得Note7竟自燃漕河泾厂房装修 打537次110被拘漕河泾装潢公司 落井男童遗体找到漕河泾装饰公司

    新凯家园装修公司 西安约500名直播主播被欠薪 经纪人疑携款潜逃新凯家园装饰公司 润江花苑装修公司 润江花苑装饰公司 金港花园装修公司 金港花园装饰公司 员工被罚当众吃虫佘山装饰公司 北京公交起火冒烟佘山装潢公司 渔民捕到神秘龙虾洞泾办公室装修 宁泽涛奥运前遭罚漕河泾装修公司

发表回复

登录 / 登录并记住我 ,登陆后便可删除或修改已发表的评论 (请注意保留评论内容)

昵称:(必填)

邮箱:(必填,仅用于Gavatar

主页:(可选)

评论内容(大于5个字符):

  1. Your Name yyyy-MM-dd HH:mm:ss

使用Live Messenger联系我