IT文化(111104)
闵应骅
最近,由于中共十七届六中全会刚开完,文化方面的话题比较热门。今天我就用文化这面大旗,来写几句关于IT文化的事。
彭宁川先生在我的博文“软件工程成了一级学科(111013)”的评论中说:“软件工程被理解为一种工程类属性是中国对软件工程的一误解,软件工程应理解为一种达成目标管控错误方法论,并应用于具体的软件项目和产品当中。当前软件工程所应用的基本理论仍是系统论控制论范畴,成为一级学科实在没有必要。”这一评论使我查阅和思考关于软件工程的特性和它究竟是不是工程的问题。这个问题争论很多,而其核心是IT文化的问题。
Engineering(工程)的字根是engine,古时候是一种工具,譬如钻木取火,田间管理工具,战争工具等。而Engineer是操纵工具的人,譬如锅炉工,轮机工程师等。Engineering是指这个动作和过程,也可能是建造,也可能是监督。也有人把工程看作有用对象的创造发明。这种功能的定义范围太大,譬如穴居人发明劈东西的石头,你不能说是一个工程。而软件工程被定义为:把系统的学术的可定量的途径应用于软件的开发、运行和维护中,以及这些途径的研究。这就是把工程应用于软件。可这个定义也有不妥。因为把这句话里的软件换成财务记录,你是否认为有会计工程呢?
工程是学科、职业和专业。
工程学应该有学术性。譬如土木工程、桥梁工程、水利工程等等都以物理、化学为基础。但是,现在大学里环境工程、生物工程、农业工程的学生却不学物理、化学,而学生物。电子与计算机工程的学生也不学静力学、动力学、热力学。工程必须建基于物理系统,如微芯片、电流速度,但软件工程师不考虑这些。计算机科学与工程的区别在于过程和标准,软件工程最后也许会与计算机工程合并,而与工程平列。这时,软件工程就不是工程,而就是软件工程,也许其他工程都离不开软件工程。
工程是一个专业,它是一批有着相同职业有愿组织起来,除法律、市场和道德之外有共同道德理想的人。软件工程的道德规范与一般工程的道德规范是非常不同的。软件工程师要善于折衷软件工程师、雇主、客户和大家共同的兴趣和利益,而一般工程师不管这些。但这些专业团体完全是自愿参加的,或者是事实上形成的。
工程是一种职业。人们为了生活就得有职业。例如遗传工程、再造工程、金融工程都意味着一类职业。软件也想重用,但由于软件的高度复杂性,使软件工程师们觉得他们不属于工程。软件工程占到整个工程的一半,和药业、法律差不多,可以另立门户,不必属于工程。
即使计算机科学不再是软件工程的基础,也许它的基础是管理信息系统或信息技术管理。大多数软件工程师接近信息系统管理,而不是一般的工程师。
https://blog.sciencenet.cn/blog-290937-504562.html
上一篇:
天气预报准不准?(111103)下一篇:
纳米网络(111111)