g9老大多年前的趣文: 论程序员

根据钱钟书先生的《论文人》胡改的。聊搏一笑,文责不负。
程序员是可嘉奖的,因为他虚心,知道上进,并不拿身分,并不安本分。真的,程序员对于自己,有时比旁人对于他还看得轻贱;他只恨自己是个程序员,并且不惜费话、费力、费时、费纸来证明他不愿意做程序员。不满意做程序员,在这个年头儿,这还算不得识时物的俊杰么? 
所谓程序员也者,照理应该指一切写代码、维护代码、设计软件的人说。但是,在事实上,程序员一个名词的应用只限于为公司编写软件之类的作者,今人所谓“IT蓝领”、“写码猴子”、“一为程序员,便无前途”的就是。至于不事虚文,精通实学的系统管理员与架构师等专家,尽管也零零碎碎地写些程序,断乎不屑以无用程序员自居——虽然还够不上白领的资格。不以程序员自居呢,也许出于自知之明;因为屏幕上写代码,未必就算得程序。讲到有用,大概可分两种。第一种是废物利用,譬如牛粪可当柴烧,又象陶侃所谓竹头木屑皆有用。第二种是必需日用,譬如我们对于牙刷、毛厕之类,也大有王子猷看竹“不可一日无此君”之想。天下事物用途如此之多,偏有程序员们还顶着无用的徽号,对着&&, ||, if, else, while,自叹不如,你说可怜不可怜?对于有用人物,我们不妨也给予一个名目,以便和程序员分别。譬如说,称他们为“用人”。“用人”二字,是“有用人物”的缩写,洽对得过程序员两字。这样简洁混成的名词,不该让老妈子、小丫头、包车夫们专有。并且,这个名词还有两个好处。第一,它充满了民主的平等精神,专家顾问跟听差仆役们共顶一个头衔,站在一条线上。第二,它不违背中国全盘西化的原则:美国有位总统听说自称为“国民公仆”,就是大家使唤得的用人;罗马教皇自谦为“奴才的奴才”或“用人的用人”(Servusservorum);法国大革命时,党人都赶着仆人叫“用人兄弟”(Frèresser vants);总统等于君,教皇(Pope)等于父(Papa),在欧美都和用人连带称呼,中国当然效法。

用人瞧不起程序员,早已有之,并非今天朝报的新闻。例如2001年计算机世界“呼唤软件蓝领”。直捷痛快,名言至理,不愧是专业大报的口气。从东到西支持外包的人,千言万语,归根还不过是这句话。“软件蓝领”那句,在.COM泡沫破裂读来,更觉得亲切有味。Edward Yordon的《美国程序员的衰落》(The Decline and Fall of American Programmers)里描述程序员惨状,哪有这样斩截雄壮的口气?Yordon也算写码无数,计算机世界被无数程序员阅读,他们尚且鄙弃编程,更何况那些庸俗得健全的灵长动物。戈蒂埃(Theophile Gautier)在《奇人志》(Les Grotesques)里曾说,商人财主,常害奇病,名曰“畏程症”(Programmingphobie)。病原如是:财主偶尔打开儿子的书桌抽屉,看见一堆写满了字的白纸,既非簿记,又非账目,每行第一字大写,末一字不到底,细加研究,知是源代码,因此怒冲脑顶,气破胸脯,深恨家门不幸,出此不肖逆子,神经顿成变态。其时此症不但来源奇特,并且富有传染性;每到这个年头儿,竟能跟夏天的霍乱、冬天的感冒同样流行。药方呢,听说也有一个:把古今中外源代码都付之一炬,化灰吞服。据云只要如法炮制,自然胸中气消,眼中钉拔,而且从此国强民泰,政治修明,武运昌盛!至于当代名人与此相同的弘论,则早已在销行极广的大刊物上发表,人人熟读,不必赘述。

IT业必须外包,而程序员却不妨奖励——奖励他们不要作程序员。卡马克(John Carmack)自学成才,穷究3D;高德纳(Donald. E. Knuth)生识之无,精研算法。此类不可救药的先天程序员毕竟是少数。至于一般程序员,老实说,对于编程并不爱好,并无擅长。他们弄代码,仿佛旧小说里的良家女子做娼妓,据说是出于不甚得已,无可奈何。只要有机会让他们跳出火坑,此等可造之才无不废书关机,改行从良。编程是倒霉晦气的事业,出息最少,邻近着饥寒,附带了疾病。我们只听说有IT蓝领;像科学蓝领、会计蓝领、律师蓝领、商人蓝领等名目是从来没有的。至傻极笨的人,若非无路可走,断不肯搞什么写码编程。因此不仅旁人鄙夷编程和程序员,就是程序员自己也填满了自悲心结,对于编程,全然缺乏信仰和爱敬。譬如各大论坛里十足程序员门纷纷说:“雕虫篆刻,壮夫不为,30改行”。可见他们宁做壮丁,不做程序员。就算做了程序员,也要在30岁前跳出火坑。因此,我们看见一个特殊现象:一切白领无不威风凛凛,神气活现,对于自己所学科目,带吹带唱,具有十二分信念;只有程序员们怀着鬼胎,赔了笑脸,抱愧无穷,即使偶尔吹牛,谈谈“系统分析”、“编码技巧”等等,也好像水浸湿的皮鼓,敲擂不响。歌德不作爱国诗歌,遭人唾骂,因在《语录》(Gespracechemit Eckermann)里大发牢骚,说不是军士,未到前线,怎能坐在书房里呐喊做战歌。(Kriegs liederschrei benundinZimmersiteenl)。少数程序员在善造英雄的时势底下,能谈战略,能做政论,能上条陈,再不然能自认导师,劝告民众。这样多才多艺的人,是不该在编程里埋没的。只要有机会让他们变换,他们可以立刻抛弃编程,别干营生。

爱德华兹(Chester G. Edwards)说程序员是“认知的精英”(cognitive elite),泰奇(Taiichi Ohno)说程序员是更优秀的人(superior people)。那些特殊材料的程序员只想充当精英,希望变成重要人物或其它。竟自称是精英或重要人物,不免夸大狂;想做精英和重要人物呢,那就是有志上进了。有志上进是该嘉奖的。有志上进,表示对于现实地位的不满足和羞耻。知耻近乎勇。勇是该鼓励的,何况在这个时期?

要而言之:我们应当外包IT业而奖励程序员——奖励他们不做程序员,不搞编程。

[zz]论程序员的更多相关文章

  1. zz 游戏程序员的学习之路(中文版)

    游戏程序员的学习之路(中文版) Milo Yip · 1 天前 感谢 @楚天阔(tkchu)编写脚本及整理中文译本数据,自动从英文版生成中文版,SVG / PDF 版本中的书籍图片现在链接至豆瓣页面. ...

  2. 什么才是程序员的核心竞争力?zz

    原文出处: 知乎 姚冬的观点 学习能力,尤其是自学能力,你啥时看到那些有名的程序高手在论坛上问“学习 XX 该看什么书,如何快速学习 XXX,学习 XXX 有什么代码推荐”之类的问题,他们想学什么很快 ...

  3. SQL Server 隐式转换引发的躺枪死锁-程序员需知

    在SQL Server的应用开发过程(尤其是二次开发)中可能由于开发人员对表的结构不够了解,造成开发过程中使用了不合理的方式造成数据库引擎未按预定执行,以致影响业务.这是非常值得注意的.这次为大家介绍 ...

  4. Mac开发利器之程序员编辑器MacVim学习总结

    Emacs和Vim都是程序员专用编辑器,Emacs被称为神的编辑器,Vim则是编辑器之神.至于两者到底哪个更好用,网络上两大派系至今还争论不休.不过,相比之下,Emacs更加复杂,已经不能算是一个编辑 ...

  5. 程序员的编辑器——VIM

    from:http://blog.chinaunix.net/uid-11278770-id-148579.html Chinaunix首页 | 论坛 | 认证专区 | 博客 登录 | 注册      ...

  6. 【摘抄】C++程序员练级攻略

    摘抄自互联网文章 作为C++程序员,或者说程序员一定要提升自己: 专访李运华:程序员如何在技术上提升自己-CSDN.NET专访徐宜生:坚决不做代码搬运工!-CSDN.NET 上面两个文章我觉得都不错. ...

  7. Mac开发利器之程序员编辑器MacVim学习总结(转)

    一.关于Vim   Emacs和Vim都是程序员专用编辑器,Emacs被称为神的编辑器,Vim则是编辑器之神.至于两者到底哪个更好用,网络上两大派系至今还争论不休.不过,相比之下,Emacs更加复杂, ...

  8. DOS程序员手册(四)

    5.4打印机功能 打印机是能够直接控制的输出设备之外的唯一的重要输出设备.它们的功能比屏幕 107页 功能要简单得多,因为它们只涉及字符输出,并最小程度地与打印机的输入有关. 输出给打印机的最简单的方 ...

  9. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

随机推荐

  1. JavaScript表单编程

    一. form的方式 1.直接定位方式 document.getElementById(id);</br> document.getElementsTagName(tagName);< ...

  2. 纯css3代码写九宫格效果

    主要用到css3中的transition和布局知识.代码如下 <!DOCTYPE html> <html lang="en"> <head> & ...

  3. 背景大图隔几秒切换(非轮播,淡入淡出)--变形金刚joy007 项目总结

    工作日想了好久,周日回家才想出来的... 图片切换(非轮播,淡入淡出) 1.切换2.停止 <html> <head> <meta content="text/h ...

  4. MyBatis框架Maven资源

      <!-- MyBatis框架 --> <dependency> <groupId>org.mybatis</groupId> <artifac ...

  5. hdu----(4308)Saving Princess claire_(搜索)

    Saving Princess claire_ Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/ ...

  6. Merge k Sorted Lists [LeetCode]

    Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. S ...

  7. android 圆角边框及图片

    <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http: ...

  8. 客户信贷管理&临时授信

    信贷额度的组成:假如某客户信用限额1万:开出销售订单时锁定1万:一旦发货1万,销售订单1万限额释放,变成发货锁定限额1万.一旦开票,发货1万限额释放,应收锁定1万限额.清帐成功,应收释放1万.信用限额 ...

  9. CentOS 6.2下SVN服务器的安装与配置

    安装了一下SVN服务器,本文没有与Apache整合,过程如下: 一,下载相关软件: [root@youxia201 test]# wget http://subversion.tigris.org/d ...

  10. PHP+socket游戏数据统计平台发包接包类库

    <?php /** * @title: PHP+socket游戏数据统计平台发包接包类库 * @version: 1.0 * @author: perry <perry@1kyou.com ...