c0d3r1991 Coding for fun

偏见是如何毁掉一个程序员的?

最近在思考那些我本该学好的技术却没有学好的原因,我找到了,源于我对那些技术先入为主的偏见。这些偏见让我与这些技术擦肩而过。如果刚开始学习某种技术,你认为这种技术过时,很low,不如另一种技术好,你还会有深入学习的打算吗?我不会,但如果这种认识是错误的呢?!来看下我大学四年的偏见们:

  1. 流程图没有必要
    大一的时候写实验报告,老师总让我们写上代码的同时,附上流程图。流程图本该在代码之前就形成,而我总是先写了代码,后根据代码画流程图,这就有违流程图的初衷。

    流程图是个过时的玩意,它总是在项目完成后写文档时根据代码画起来的,这与流程图的目的背道而驰,是项目经理的无理要求的产物,应该摒弃之…

    原文不记得在哪看到的,大概就是这个意思,我当时看到了觉得很有道理,和我目前遇到的困境一样,说到我心坎了,于是乎我在写代码之前从不画流程图,还很反感老师要求实验报告上要求画上流程图。
    实际上流程图可以帮助我们理清思路,想清楚问题,更快地写出bug free的代码,而我却保持这个愚蠢的偏见好多年。

  2. MFC是个过时的框架
    大一下学期的时候,对只会写控制台程序很是困扰,这些控制台程序在那时我看来一点都不像个程序,没有实用价值,想写个有图形界面的程序,那才叫“真正”的程序。然后知道了有MFC这个东西,了解到它是对win32 API的封装,也写了一些小的程序。用向导创建一个空项目,一路next,然后生产了一堆看不懂的代码,在需要的地方加上自己的代码就完成了一个程序,如果不小心修改了或者删除了生成的代码,恭喜你,程序会编译不通过,而且还各种看不懂,这让我很是慌乱。不过这都不是事,阻挡不了我继续学习的决心,直到我不知在哪里看了下面的这段文字:

    C++之父曾经说过:即使是80年代中期,MFC也达不到一个良好OO设计的要求,它是使用最多却是糟糕的基础库。它违反了一个好的C++设计应当遵循的大多数原则,严重扭曲了许多程序员对于什么是C++的看法。
    MFC使用了大量的宏,让人欲哭无泪。MFC的封装带来了方便,也对了解机制引入了复杂性。目前,MFC在企业中很少应用了,已经过是了。

    即使进入了机器人足球队,对windows编程还有些要求的,我还是止步于仅读了一遍孙鑫的《VC++深入详解》,没有在这条路上走下去。如果理解了一套图形界面的库,其他的像Qt, gtk什么的应够都差不多,可以很快地入手。偏见让我止步。

  3. HTML+Javascript+CSS 都太低端了,没啥技术含量
    大一上的时候因为好奇加入了沁水青山BBS和校社联的信息编辑部(现在撤销了:( ),第一次接触到网页设计制作这个东西,后来用html+css调样式让我烦躁,我讨厌调UI,繁琐不说,觉得没啥技术含量,这不是一个程序员该做的事情,恩,当时我就是这么想的。我想要做的是后台开发,前台技术含量不够,前端的东西我也就学了个皮毛,没有深入。大一下加入了阿豆工作室,由于有些基础,而且比较积极,被当时工作室的主管看中了,我就当上了下一届的主管。在阿豆主要学的是Asp.net,然后以大二下的时候以做了一个视频网站收官。

  4. 对人对事的偏见
    我是一个普通人,当我不认同某人时,很可能会对之有偏见,然后看不到TA身上的发光点了,这会让我失去向TA看齐向TA学习的机会。还好,我认识到了这点,看不惯某些人和事肯定是我自身修养不够,大师看大家都是平常心嘛!

想想偏见真够可怕的,扼杀我于无形。这让我更加慎重地对待网上及其他人对某件事的看法,警惕陷入先入为主的境地,欲探个究竟,亲身经历便是。

-EOF-