关于工程师 - 工程师和黑客的区别在哪里?

2014年11月12日 10:27 来源:互联网 作者:佚名 我要评论(0)

标签:工程师(68469)黑客(21847)

  关于工程师

  如今已经有很多文字来描述什么是黑客,但却没几个字说说什么是工程师。在某种程度上,是因为相比黑客,工程师是一个更为古老的称呼,或多或少都已经在人们心中定型,而且工程师通常是职业的称呼,而非性格特征的描述。在本文中,我会试图描述工程师的性格特征。

  工程师就像黑客的同胞兄弟,它们有一些相同的特征,而其他方面则相去甚远。黑客藐视规则,而工程师热爱规则(或者至少喜欢创造规则)。对工程师而言,井然有序是件好事,而对黑客来说混乱不堪则是益事。工程师的工作以建立过程和事物为伊始,向着原创方向而努力,很像《黑客与画家》中所描述的科学家。黑客则以兴趣为导向进行工作,工程师则倾向于死记硬背。当然,工程师偶尔也会不修边幅。

  工程师和黑客的相似之处在于都是创造并搞定事情。正如科学家能够完全沉浸在自己的研究当中一样,艺术家也会在自己的艺术创作中迷失自我。黑客和工程师都是能将事情做好的人,是的,两者的性格特征都倾向于吹毛求疵,总的说来,都是极力在直截了当地将问题彻底解决。

  说到吹毛求疵,我相信在艺术家和科学家、黑客和工程师之间存在一些不同。艺术家和科学家通常沉浸在自我工作的深度上,黑客和工程师则倾向于吹毛求疵地迷失在自我工作的广度上。这是画家和黑客、科学家和工程师之间的显著不同。

  像黑客一样,工程师也对细节斤斤计较。工程师对于细节的关注并非源于他们对于美的无尽追求,而是源于对正确性的自我要求,他们依赖已有知识体系和已知常识去创造事物。有些观点认为工程师仅仅是缺乏创造力的实践者,但我认为事实并非如此。

  工程师和黑客也都是工匠和实验者,只不过他们以不同的方式来实践罢了。黑客是自由散漫的工匠,工程师则是组织有序的工匠。工程师相比黑客更愿意以更为有条理的方式来做事,因此也比爱冒险的黑客少了许多风险。

  本质上工程师和黑客是一样的,唯一的不同在于他们做事的方法和动机。就我看来,知识水平决定了一个人会成为黑客还是成为工程师(译者注:知识水平越高的人越会成为工程师,因为他们知道的太多了)。

  关于严谨性

  最初的黑客其实是科学家,作为几个世纪前便已存在的职业,科学家到二十世纪时已变地相当无组织无纪律。个人(自我)实验司空见惯,很多畅销小说中都会提到这么一段疯狂的科学家情节。

  我曾经痴迷地读过这么一本书————《豚鼠科学家》,这是一本通俗易懂且容易找到的书。在书中,作者回顾了那些热衷做个人实验的著名科学家。在我记忆中印象最深的是霍尔丹(JBS Haldane)(译者注:遗传学家和进化生物学家),部分原因是他是一名众所周知的科学家,他的作品之前我之前也读过。霍尔丹的个人实验很有名,以至于因为实验造成失聪,背脊也受了伤。

  要是霍尔丹是名电脑程序员,可能他会用所有调试方式来编写程序来调试错误,简而言之,就是黑客。

  严谨性要求在科学领域出现的较晚。随着越来越多的信息开始在科学家们各自研究的领域传播和分享,各种框架或约定也越来越被科学家们所需要。毕竟,如果两个化学家就实验的目的,工作流程等不能达成一致,那还搞个毛飞机呢?很快,适当的严谨性框架/约定在科学界被确定下来,比如如果要做科学家,你就必须得会做假设检验。

  我相信这样的事情也发生在计算机科学及其工业领域。随着计算机工业成熟化,它也变得越来越严谨。戴夫。盖尔普林(Dave Gelperin)在1988年写了一篇文章叫《软件测试的发展》,在该文中,戴夫和他的合作者指出软件开发已经从面向调试开发发展到面向规范开发(软件必须满足规范)、面向毁灭开发(目的是寻找错误),面向评估开发(能够测试软件质量)、面向防范开发(检测和阻止错误发生)。

  今天我们可以找到很多严谨的软件测试方法——从BDD到TDD,我敢打赌这只会更加稳固软件严谨性的发展,就像假设检验是科学界严谨方式的中坚力量一般。

上一页123下一页全文

本文导航