zoukankan      html  css  js  c++  java
  • [译]程序员都是工程师吗?

    所有的程序员都是工程师吗?当然不是。工程师是必修课,程序员则是选修。工程师为自己的事业工作,而程序员做他们喜欢做的事情。工程是实实在在的,编程是抽象的。

    为了吸引注意力,Slashdot提出了一个备受争议的老话题:所有的程序员都是工程师吗?

    当然不是。

    我曾经却不这么认为。我的母校是伊利诺伊大学香槟分校,计算机科学系是工程学院的。我可以证明,这好几年都在学和工程师一样的课程。

    正因为很多学校把计算机科学归于工程学院,很多程序员毕业之后都以为他们和工程师没什么区别。但是差别很快就会显现出来。(写给新入IT的新人们

    工程师是必修课,程序员则是选修。

    要做一个工程师,你就必须获得授权。你必须通过专业的工程师考试。在工程这个领域,你必须有证书来证明你知道正确答案。在法律专业,也是这样。我非常确定对于著作权法的了解我比一些小型城市的律师强。然而他们可以在这个领域内发表一些自己的观点,但是我就不行。工程学也如此。有些事情只有有执照的工程师做才合法。

    但是每一个人都可以编程。但是,不一定能把程序编好。(前端工程与性能优化

    工程师为自己的事业工作,而程序员做他们喜欢做的事情。

    通常,工程师比程序员拥有更高的学位。有人认为他们想证明自己,但是我认为,这源于对事业的选择。许多程序员都是因为兴趣编程,并逐渐地变得专业。我就是这样。很多年前我还不会开车的时候就会编程了。有时候,我们做了错误的决定,正是因为混淆了爱好和专业的区别。

    工程师却不是这样。人们不会将桥梁建筑作为他们的爱好,而选择将成为桥梁工程师作为自己的事业。工程师们通常将他们的工作作为自己的事业,因为这一直都是他们的梦想。

    工程师理解地更深,程序员通常不知道他们在做什么。

    通常,工程师可以预测工作流程。他们不会陷入纷繁复杂的参数中,不必纠结于使用什么方法来完成项目。让他们来估测一个项目,通常会得到准确的答案。

    到现在为止,没有管理软件项目的通用方法。每个人的方法都不同。一些人几乎没有用什么程序,却得到了惊人的结果;一些人用传统的方法论,却不能按时解决问题。

    工程是实实在在的,编程是抽象的。

    工程师使用的是物理的东西,像力学,电和热。当工程师建造什么东西的时候,通常是实实在在的事物,可以摸得到,可以拿在手上,甚至可以保持它的形态度过几个世纪。

    编程利用的是一些抽象的东西。我们创造变量并赋予他们名字,通过操作它们来创造事物。当产品最后完成的时候,不需要什么制作流程。成品不过是一些字节。理论上讲,如果一只猴子在键盘上敲打,也有几率敲出相同的字节。这样生产处的产品是看不见摸不着的,可能在几年之后,就不再有什么价值了。

    我的意思并不是说工程师就比程序员更有价值。我能建造出一座桥,一台电视,或者一条小舟吗?不,但我藐视一切能建造它们,部署优秀控制系统的工程师。因为程序员同样解决了困难的问题。

    我们的大学,由于没有适合我们的学院,而将我们称为「工程师」。我不会怪他们,因为我并不会期望借「工程师」这几个字来获得更多的尊重。

    为什么就不接受软件开发是一个特殊的行业呢?我们必须承认没有别的领域,像编程这样。工程师对我来说太枯燥。我喜欢做一个程序员。

    本文翻译自: Eric

  • 相关阅读:
    1-13Object类之toString方法
    jvm源码解读--16 锁_开头
    jvm源码解读--16 cas 用法解析
    jvm源码解读--15 oop对象详解
    jvm源码解读--14 defNewGeneration.cpp gc标记复制之后,进行空间清理
    jvm源码解读--13 gc_root中的栈中oop的mark 和copy 过程分析
    Error: Could not find or load main class ***
    使用javah 给.class类编译jni_helloworld.h文件头
    jvm源码解读--12 invokspecial指令的解读
    jvm源码解读--11 ldc指令的解读
  • 原文地址:https://www.cnblogs.com/codepuzzle/p/3798592.html
Copyright © 2011-2022 走看看