2010-09-05

程序员的傲慢与偏见

Views: 16194 | Add Comments

程序员拒绝一项技术(即使是一项非常优秀的技术), 坚持一个习惯(即使是一个拙劣的不好习惯), 很多时候仅仅是因为其内心的傲慢与偏见.

为什么要用这种编程语言? 为什么要用这个库? 为什么要用Tab(或者一个空格, 两个空格, 三个空格, 四个空格, ..., 八个空格)缩进? 那样做有什么好处? 程序员这样问, 内心其实不期望答案, 任何的对"这些问题的"答案也没有用, 他仅仅是在向你表示, 他就是因为傲慢与偏见所以拒绝. 如果你真的想给出一个答案的话, 权利和服从就是最好的答案(答非所问才是最好的答案).

为什么要重新发明轮子? 我可以给出重新发明轮子的十个优点: 我喜欢这么做; 发明轮子是最好的学习方式; 我发明的轮子一定会是更好的... 但是, 这些回答对于一个提出这种问题的傻瓜会有什么帮助吗? 他仅仅是因为傲慢与偏见才拒绝自己和别人重新发明轮子, 并不是他不知道重新发明轮子的好处.

为什么一定要在if指令后面写花括号, 即使后面只有一行语句? 因为我写的是框架, 以后我再增加一行时, 我仅仅是增加一行, 而不是增加一行和额外的花括号. 你可以理解为我因为傲慢与偏见就喜欢这么做.

所以, 对这种傲慢与偏见的提问, 除了权利和服从, 回答只有小学生的顺口溜 - "因为所以, 蜘蛛蚂蚁, 打雷下雨".

我的一个同事曾经拒绝PHP和脚本语言, 当他使用grep/sed来分析HTML文本饱尝痛苦之后(上下文相关的正则表达式, 无法完全分析上下文相关的HTML), 我推荐他使用PHP. 仅仅一天, 他就完成了他的目标, 并且对PHP的赞美之情溢于言表. 他最开始为什么不使用PHP, 是因为他不会PHP吗? 是因为PHP无法做他所要做的事吗? 不是, 他写过PHP, 他知道有许多程序员在用PHP解决很多问题, 他仅仅是因为傲慢与偏见才拒绝PHP.

傲慢与偏见不是程序员的专利, 它是人的原罪. 对于程序员, 认识到傲慢与偏见对我们产生的作用, 才能正确地分析问题.

Related posts:

  1. Lenna(Lena) 的故事
  2. 国内外一些计算机学习资源的链接
  3. 肖申克的救赎 — Get busy living, or get busy dying
  4. 白纸和黑点的故事
  5. 他们这样出题
Posted by ideawu at 2010-09-05 22:03:40 Tags:

Leave a Comment