软件开发不是一门艺术

Phyllis ·
更新时间:2024-11-11
· 618 次阅读

  “做软件是艺术,还是工程?”,答案是肯定的——做软件是工程,不是艺术。所谓艺术一般不是经济生活必需的,而是茶余饭后供人们休闲和欣赏的附属品。艺术品虽然价值不菲,但不是和国民经济或老百姓生活息息相关的东西,它应该是一种附属品。

  艺术是人的知识、情感、理想、意念综合心理活动的有机产物,是人们现实生活和精神世界的形象表现。艺术属于娱乐游戏文化的范畴,是人们为了满足自己对主观缺憾的慰籍需求和情感器官的行为需求而创造出的一种文化现象,这种文化现象的本质特点是用语言创造出虚拟的人类现实生活。艺术是人们进行情感和思想交流的一种文化形式,人们进行情感和思想交流是以语言为基础的,所以,艺术的发生基础是人类的语言。艺术可以定义为“人类以创造美为主要目的的技术及其产品”。 艺术需要技术,但不是技术。

  软件则完全不同,它已在各行各业得到广泛而深入的应用,真正在为社会服务,和人们的日常生活分不开了,直接关系到人民的生命财产。现在软件无处不在,已和大家的工作、生活密不可分。例如:

  固定电话、手机、数字电视等都已嵌入了计算机程序、由软件控制的。   火车运行、飞机航线等也是由计算机系统来操作、监控和管理的。   银行业务处理、网上银行、股票系统等无一不是计算机系统呢?

  在软件天才眼中,做软件象是成一件艺术品,充满着想象,不断创新,而且其人机交互界面设计的确需要艺术细胞。当人们将软件看成是“艺术品”时,只是过分强调了其创造性,只是看到了某个局部或少数应用场合,具有很大的局限性。虽然软件是高科技的智力产品,需要很高的创造性,但还是不能抹去其工业性。软件已经形成一项产业,是当今社会工业不可缺少的一个领域,软件产业已经是国民经济的重要支柱产业之一。所以,软件质量问题直接危害到人们的生命财产,软件质量问题会造成经济的严重损失、企业会为此付出很大的代价。但书法、绘画、雕塑等质量问题只影响作品本身的艺术价值,或者说只影响到观众对产品的认可度,但决不会直接影响到人们的生命财产,也不会直接给经济带来损失。

  软件是一门技术,而且是快速发展的高技术。软件工程强调目标的实现,从目标和要求出发,力争达到“多、快、好、省”,满足业务需求、满足客户需求和质量诉求。软件工程无疑是一门工程,因为软件工程同样具备标准工程实践的三段论——分析、设计与实现。

  [说明:“软件开发不是一门艺术”和“软件开发工作中没有艺术性”是不同的。“软件开发不是一门艺术”,意味着“艺术在软件开发中不占有主导地位,而是工程技术占主导地位”,并不否认“软件开发中含有艺术的成分”,只不过这种艺术成分少于50%。每一项工作都有艺术性,软件开发与测试有艺术性、项目管理也有艺术性。但美术、音乐等是一门艺术,艺术在美术、音乐中占主导地位。]

  参考:

  什么是软件工程?   软件工程的核心是什么?   先进、成熟的软件工程思想有哪些?

  后补:

  从网友的评论,得到一些启发,例如,“游戏软件呢?经济生活必需的?”是一个很好的问题,也同意“艺术与工程不应该是对立的, 应该是相辅相成的”。游戏软件虽然形成一个不小的产业,不是生活必须的,和绘画、音乐、电影等艺术创作有些类似,都是供人们感官享受的,满足精神上的需要。但游戏软件为了提高性能、满足上百万在线用户的使用,其软件工程方面的要求非常高,包括3D建模、系统架构、服务器部署设计等。所以构建一个游戏软件系统,工程技术是不能忽视的,其开发过程是一个复杂的系统工程过程,虽然它比普通软件需要更多的艺术创作。

  现在越来越多的绘画、音乐、电影等借助计算机来实现,形成数字艺术,这时候,软件或计算机系统只是工具,和画笔、画板没有差别,作为工具,谈不上是艺术的或工程的。软件作为工具,也很难体现其艺术性,辅助性则更为强烈。本文主要是讨论软件系统本身,即软件系统或产品的开发过程。从这个层次上看,软件的开发过程是系统的、技术的工程过程,虽然包括管理过程、人文环境等。

  传统建筑是艺术和工程结合的比较好的例子,不乏许多经典之作。但所有的经典之作都是艺术和工程的完美结合,例如,“都江堰”、“赵州桥”、“伦敦塔桥”、“克里姆林宫”、“卢浮宫”等。如果没有很好的过程技术来保证质量,那些建筑早灰飞烟灭。这些建筑艺术的创作,正是靠坚实的建筑工程使其艺术得以表现,也使它们能长久保留下来。无论建筑设计师如何创作,如果没有结构工程师等技术支持,建筑艺术创作只能是纸上谈兵。

  软件本身的艺术性也很难和建筑比。传统的建筑比较成熟,至少分为建筑学、结构工程(土木工程)、给排水工程、电气工程、工程预算等,处处体现了工程,并将艺术创作(建筑学)独立起来。软件学科还比较含糊,只有一个专业“软件工程”(官方)。非官方的专业有动漫、多媒体应用、软件应用、项目管理、软件开发、软件测试等,还没有类似“建筑学”的软件设计专业,虽然有些学校也开设了“UI设计”课程,仅仅是一门课程。

  文章强调“软件开发不是一门艺术”,虽然有些偏激 :-) 也是希望大家正视软件质量,奉劝大家不要将“软件开发是一门艺术”、“软件开发是高技术”等作为“软件质量低下”的借口。而多向传统的建筑学习,不仅有很好的创造,而且有一丝不苟的质量体系来保证质量,一起努力将软件推向一个新的水平、成熟的时代。



软件开 艺术 软件

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章