编程是一种艺术创作

开发 后端
在中国,世人已习惯于把金钱与声誉赋予,贩卖工程师所创造产品的,商人;商人建造一部部商业机器,为追求最大利益,降低风险,他们把程序员变成流水线上的苦力;
软件正在吞噬世界

“软件正在吞噬世界。”——马克 · 安德森

[[87339]]

马克 • 安德森

在新一轮的信息技术革命中,我们已经见证,软件对社会生产的方方面面,产生了深刻的影响,它们侵入并颠覆了已经建立起来的行业架构。越来越多的大企业和行业开始依靠软件运行,并提供在线服务,从零售行业的沃尔玛,到音乐行业的苹果公司iTunes,再到动画电影公司皮克斯。

与此同时,过去的四十年中,软件行业可能创造了全世界最多的财富,很多赚到大钱的人都是***的程序员,像我们熟知的Microsoft、Oracle、Amazon、Google、Facebook的创始人、丁磊、马化腾、李彦宏、周鸿祎等等。

编程是一种艺术创作

这些赚到大钱的、少数的、***的程序员,创造了世界上绝大多数优秀的软件。可以说,最***的5%的程序员写出了全世界99%的优秀软件。

为何会出现这种现象?能否用大量普通的程序员,取代个别优秀的程序员,通过堆大量的时间,来创作优秀的软件?

答案显然是否定的。为什么?

不仅仅因为,在工作效率上,一个优秀的程序员可以抵10个甚至更多的、普通的程序员;更因为,不管多少普通的程序员、工作多长时间所做出的东西,都无法像个别优秀程序员做的那样好,更别说做出卓越的软件。在开发普通软件上,他们可能只是效率的区别,但是在创作优秀软件、卓越软件上,普通程序员与优秀程序员之间,是有和无的效用差别,而不是60和100的效率差别,就如同,100个普通的画家,再怎么努力工作,也无法创作出媲美梵高作品的传世之作。

[[87340]]

《星夜》——梵高的传世名画

归根到底,编程是一种艺术创作(注:艾兹格 · 迪科斯彻:程序设计是一门艺术)。创作优秀软件的很多部分,并不与科学相关,它更多地需要程序员具有艺术家一样的特质:

想象力与创造力

黑客搞懂“计算理论”的必要性,与画家搞懂颜料化学成分的必要性差不多大,黑客新想法的***来源,并非那些名字里有“计算机”三个字的理论领域,而是来自于其解决问题的创作领域;

追求卓越、专注细节的态度

正如他们所说:“电影人似乎不能理解创业者创建一样东西纯粹的是因为他们喜欢创建东西。” ——马克 · 扎克伯格评电影《社交网络》。

“我们不停地添加代码,像画家添加色彩,作曲家添加音符,每一个小细节都必须有依据……努力使每件事情***地组合在一起,以一种前人未曾做过的方式。这使得工程师称为真正的艺术家。”——斯蒂夫 · 沃兹尼亚克 。

硅谷创业孵化公司Y Combinator创始人保罗 · 格雷厄姆的说法则更为直接:“程序员是现存***的手工艺人群体,黑客与画家的共同之处,在于他们都是创作者,都试图创作出优秀的作品。”

[[87341]]

传统手工艺品景泰蓝制作

为什么将编程当作一种艺术创作在中国这么重要?

“光有科技是不够的。科技要和人文、艺术联姻,才能产生让我们的心为之歌唱的结果。” ——史蒂夫 • 乔布斯

[[87342]]

在中国,世人已习惯于把金钱与声誉赋予,贩卖工程师所创造产品的,商人;商人建造一部部商业机器,为追求***利益,降低风险,他们把程序员变成流水线上的苦力;甚至有些可笑的商人,认为用许多平庸的程序员,就可以取代优秀的程序员;他们认为程序员***不要有太多的想法和创造力,程序员唯一的职责就是将产品规格如实地翻译成代码,而不是设计软件。总之,在中国程序员被大规模代码工人化,程序员们被戏称为码农或IT民工。

中国企业更关注软件作为科学与工程的部分,但却忽略了其人文与艺术的部分,忽略了编程是一种艺术创作,这一美国软件与黑客文化的核心。这或许就是中国有不少通过CMM高等级的企业,却不能开发出被世界普遍认同、真正优秀软件的原因吧。

Steve Woz在伯克利分校的毕业典礼上宣称“人性必胜!技术天才一定能够拯救人类!”。在这个时代,在这个软件吞噬一切的时代,具有艺术家特质的程序员----黑客,永远值得我们期待。哪怕是商人,你都应明白:***程序员是创造财富最稀缺的资源。

原文链接:http://www.html5cn.org/article-3120-1.html

【编辑推荐】

  1. 程序员成熟的标志
  2. 普通程序员在澳大利亚的两年生活
  3. 疯狂的编程世界
  4. 编程需要知道多少数学知识?
  5. 做有中国特色的程序员
责任编辑:张伟 来源: HTML5中国
相关推荐

2012-11-01 13:41:25

编程语言BasicPerl

2015-03-13 11:23:21

编程编程超能力编程能力

2015-01-21 15:35:58

开源

2015-08-03 09:36:01

赛迪翻译

2015-08-31 09:27:21

语言界面UI

2022-12-28 10:19:11

2012-01-17 11:02:39

2023-01-30 13:15:15

2020-12-30 10:10:48

AI 数据人工智能

2021-11-04 17:48:44

编程游戏代码

2016-04-18 13:41:10

软件IC网

2017-07-13 16:43:23

DevOps持续集成业务

2023-07-18 18:10:04

2024-11-13 08:36:28

2018-12-29 10:37:05

HTTP缓存URL

2014-09-05 16:58:52

程序员老程序员

2010-11-04 10:55:24

编程语言

2018-03-12 13:32:02

编程语言程序员语言

2010-01-25 15:09:17

C++语言
点赞
收藏

51CTO技术栈公众号