[zz]论程序员

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业而奖励程序员——奖励他们不做程序员,不搞编程。

时间: 2024-10-08 13:02:02

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

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

游戏程序员的学习之路(中文版) Milo Yip · 1 天前 感谢 @楚天阔(tkchu)编写脚本及整理中文译本数据,自动从英文版生成中文版,SVG / PDF 版本中的书籍图片现在链接至豆瓣页面. Github miloyip/game-programmer 检视/下载中文版 SVG / PDF 「真诚赞赏,手留余香」 赞赏 15 人赞赏 程序员游戏开发书籍推荐 分享 举报 977 文章被以下专栏收录 Milo的编程 进入专栏 97 条评论 写下你的评论 trycatch 这是劝退吧...

程序员阿士顿的故事[zz]

程序员阿士顿的故事 2011-03-19 21:37:51 前几天有人在 Stack Exchange 上提了一个问题 How can a new programmer impress the software engineer (boss)?(作为新手程序员如何给软件工程师出身的老板留下好印象?),Joel Spolsky(Joel on Software 的主人,<软件随想录>的作者) 看到了这个问题,他没有正面回答,而是在下面讲了悲催的程序员阿士顿的故事.正文:我告诉过你有关阿士顿的事情

一个优秀的c++程序员应该具备的素质

1.把C++当成一门新的语言学习(和C没啥关系!真的.): 2.看<Thinking In C++>,不要看<C++变成死相>: 3.看<The C++ Programming Language>和<Inside The C++ Object Model>,不要因为他们很难而我们自己是初学者所以就不看: 4.不要被VC.BCB.BC.MC.TC等词汇所迷惑--他们都是集成开发环境,而我们要学的是一门语言: 5.不要放过任何一个看上去很简单的小编程问题--他们

黑马程序员——集合篇

------- android培训.java培训.期待与您交流! ---------- 1.集合类 为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一 种方式. 数组和集合类同是容器,有何不同? 数组虽然也可以存储对象,但长度是固定的:集合长度是可变的.数组中可以存储基本数据类型,集合只能存储对象. 集合类的特点 集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象. 2.集合框架的构成及分类 3.

黑马程序员_Java集合框架

- - - - - android培训.java培训.期待与您交流! - - - - - - 集合框架:用于存储数据的容器. 特点: 对象封装数据,对象多了也需要存储.集合用于存储对象. 对象的个数确定可以使用数组.如果不确定可以用集合.因为集合是可变长度的. 集合和数组的区别: 数组是固定长度的:集合可变长度的. 数组可以存储基本数据类型,也可以存储引用数据类型:集合只能存储引用数据类型. 数组存储的元素必须是同一个数据类型:集合存储的对象可以是不同数据类型. 数据结构:就是容器中存储数据的方

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

Emacs和Vim都是程序员专用编辑器,Emacs被称为神的编辑器,Vim则是编辑器之神.至于两者到底哪个更好用,网络上两大派系至今还争论不休.不过,相比之下,Emacs更加复杂,已经不能算是一个编辑器了,有人这么说:Emacs是伪装成编辑器的操作系统.与之相反,Vim的定位很明确,就是要做一个强大的编辑器.由于笔者精力有限,决定还是选择自己认为相对简单点的Vim来学习.因此,笔者将会在本文跟大家介绍Mac下Vim的安装以及简单使用.          首先,Mac系统默认已经安装了Vim.打开

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

摘抄自互联网文章 作为C++程序员,或者说程序员一定要提升自己: 专访李运华:程序员如何在技术上提升自己-CSDN.NET专访徐宜生:坚决不做代码搬运工!-CSDN.NET 上面两个文章我觉得都不错.要说基础的C++应该还需要看看以下这些: 1.把C++当成一门新的语言学习(和C没啥关系!).2.看<Thinking In C++>,不要看<C++编程思想>.3.看<The C++ Programming Language>和<Inside The C++ Obj

程序员的职业道路

定位 还记得当初为什么选择程序员这个职业么?如今程序员所在的行业处于发展上升期,薪酬待遇整体高于传统行业,所以各类程序员培训机构如雨后春笋,流水线般的为各类只差程序员的公司批量供应,这样的批量生产似乎有点把程序员当成了工厂的工人. 而程序员的工作实际更贴近于工匠,既有创造性的工艺性工作,也有模式化的工程性工作.想清楚自己成为程序员的初衷是什么?只是为了进入一个相对高薪的行业,得到一份工资高于平均水准的工作?这样终究是走不了太远的. 很多入门程序员都是刚从学校毕业的,曾记得在吴多益(@nwind)

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

一.关于Vim   Emacs和Vim都是程序员专用编辑器,Emacs被称为神的编辑器,Vim则是编辑器之神.至于两者到底哪个更好用,网络上两大派系至今还争论不休.不过,相比之下,Emacs更加复杂,已经不能算是一个编辑器了,有人这么说:Emacs是伪装成编辑器的操作系统.与之相反,Vim的定位很明确,就是要做一个强大的编辑器.由于笔者精力有限,决定还是选择自己认为相对简单点的Vim来学习.因此,笔者将会在本文跟大家介绍Mac下Vim的安装以及简单使用.  首先,Mac系统默认已经安装了Vim.