zoukankan      html  css  js  c++  java
  • 我不是一个工程师——我是一个软件开发者 狼人:

    导读:本文是从《I am not an engineer - I’m a software developer》这篇文章翻译而来。译文来自外刊IT评论《我不是一个工程师——我是一个软件开发者》。

    内容如下:

    在《Object-Oriented Software Development Using Java》这本书的导言部分,8-9页上的“软件开发过程是工程化的过程吗?”一节中,Xiaoping Jia写道:

    …对于“软件工程”这个词的精确定义仍然没有多少共识,就连使用“软件工程师”作为一个专业职称的正当性也受到质疑…

    工程(engineering)和工艺(craftsmanship)之间的一个关键区别就是,工程的成功可以通过事前对设计的科学分析而得到保证,而工艺的成功却是通过当前的和之前的制作上的试验和失误获得的…

    在某些非常成熟的工程化领域里,失败、有时甚至是灾难难以杜绝…但相同的失败却很少会重复发生…而对于软件开发,相同类型的失败比比皆是。

    成熟的工程化领域里的成功很大的原因在于对知识的规范和积累,重复利用以前的解决方案…对于软件开发,尽管有积累的大量的经验和设计技术,却很少有被系统化的整理过的… 

    所以,软件开发是一项跟传统的工程方法有很大的不同的活动。充其量也只是一个不成熟的工程学科。软件开发如果想成为真正的工程方法,软件开发人员必须要机械的去执行设计分析,确保已知的失误不会重现,把设计知识系统化。

    我不是一个工程师。我是一个软件开发者。在跟一个是工程师的朋友交谈中,我问他觉得我和他的工程作业上最大的不同是什么。他没有想太久。“我的产品都是大规模生产的。”

    我是一个软件开发者。在我的想象里,就像Jia指出的,我们更接近是手艺人,而不是工程师。但我所说的“手艺”跟Jia说的有很大的不同,我所指的不仅仅是开发过程和工程过程之间的交集,更指的是让软件成为工艺品的工艺流程方法。

    我既不是一个计算机科学家,也不是一个业余人士,既不是一个专家,也不是一个新手。我处在中间,我靠写代码为生。

    译文出自:外刊IT评论

  • 相关阅读:
    [原创] 毕设---在myeclipes中安装Hadoop开发插件
    [转]Linux下RPM软件包的安装及卸载 yum操作
    [转]结构化、半结构化和非结构化数据
    [转]这5种必知的大数据处理框架技术
    [转]浅谈Hive vs. HBase 区别在哪里
    前端资源整理
    每个程序员都应该知道的10大基础算法
    Python Day14(HTML)
    Python Day13(yaml)
    Python Day12(补充)
  • 原文地址:https://www.cnblogs.com/waw/p/2187236.html
Copyright © 2011-2022 走看看