`

黑客与画家:编程是一种艺术创作

阅读更多
软件正在吞噬世界

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



马克 • 安德森

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

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

编程是一种艺术创作

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

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

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

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



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

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

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

追求卓越、专注细节的态度
正如他们所说:

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

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

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



传统手工艺品景泰蓝制作

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

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



史蒂夫 • 乔布斯在苹果产品发布会上

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

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

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

——摘自德问博客《黑客与画家:编程是一种艺术创作》
分享到:
评论

相关推荐

    黑客与画家1

    黑客与画家1

    黑客基地:C语言编程特训班特训3

    【C语言编程特训班特训3】是一个专注于提升C语言编程技能的课程,适合对计算机编程有一定基础,希望通过深入学习C语言来强化自身技术能力的学员。C语言作为计算机科学的基础,是许多高级编程语言的基石,掌握C语言...

    彻底研究:黑客编程技术揭秘与攻防实战

    彻底研究:黑客编程技术揭秘与攻防实战

    黑客大曝光:网络安全机密与解决方案(第7版)

    黑客大曝光:网络安全机密与解决方案(第7版)

    黑客基地:C语言编程特训班特训16

    【黑客基地:C语言编程特训班特训16】是一个专门针对C语言编程技能提升的培训课程。C语言作为计算机科学的基础语言,是许多程序员入门的首选,它以其高效、灵活和强大的底层控制能力而著称。这次特训班的重点可能...

    黑客基地:C语言编程特训班特训7

    【黑客基地:C语言编程特训班特训7】是一个专为学习C语言编程的训练课程,由知名技术平台“黑客基地”策划并提供。这个训练班的目标是深入讲解C语言的基础与高级概念,帮助学员掌握这门强大的编程语言。在CSDN平台上...

    贝叶斯黑客方法:概率编程和贝叶斯推理Bayesian Methods for Hackers: Probabilistic Programming and Bayesian Inference

    使用Python从计算/理解第一,数学第二的角度介绍贝叶斯方法和概率编程。

    黑客基地:C语言编程特训班特训2

    【C语言编程特训班特训2】是一个专注于提升C语言编程技能的课程,由知名的“黑客基地”推出。这个特训班旨在帮助学员深入理解C语言的基础与高级概念,从而提升他们的编程能力和解决问题的技巧。课程内容可能涵盖...

    黑客基地:C语言编程特训班特训1

    C语言作为一种基础且强大的编程语言,被广泛应用于系统开发、软件工程、嵌入式系统等多个领域。在这个特训班中,你将深入学习C语言的核心概念和实践技巧。 课程内容可能包括以下几个重要知识点: 1. **C语言基础**...

    黑客基地:C语言编程特训班特训8

    【C语言编程特训班特训8】是一个专注于提升C语言编程技能的课程,由“黑客基地”组织并由某知名站长整理发布。这个特训班可能是为了帮助学员深入理解和熟练掌握C语言这一基础编程语言,以提升其在网络安全、系统开发...

    黑客编程原理分析

    `税务登记证正.jpg`和`营业执照正.jpg`看似正常文件,但可能是黑客隐藏恶意代码或伪装成合法文件的一种手段。这种技术称为“文件捆绑”或“文档钓鱼”,是黑客常用的欺骗策略。 总的来说,黑客编程原理分析涵盖了...

    黑客基地:C语言编程特训班特训18

    【C语言编程特训班特训18】是针对C语言深入学习的一个专项训练课程,旨在帮助学员提升C语言编程技能,尤其是对于那些对黑客技术感兴趣的学员。C语言作为计算机科学的基础,因其高效、灵活和底层特性,在系统编程、...

    C语言黑客编程教程

    C语言与黑客编程的关系 - **低级特性**:C语言作为一门接近底层的高级语言,能够让程序员直接访问和控制计算机硬件资源,这对于编写高效且具有针对性的安全工具非常重要。 - **系统编程**:C语言是进行系统级编程的...

    《黑客与画家》读书笔记_MF1632020_管登荣1

    《黑客与画家》是一本深入浅出的书籍,旨在让普通读者理解计算机时代的核心理念和黑客文化的内涵。作者通过自身的经历,揭示了黑客的成长过程、创新方式以及他们对世界的独特看法。书中的内容分为三个部分: 第一...

    黑客基地:C语言编程特训班特训10

    C语言作为一种基础且强大的编程语言,被广泛应用于系统开发、软件工程、嵌入式系统等多个领域。这次特训班的内容可能涵盖了C语言的基础概念、语法特性、数据类型、控制结构、函数使用、指针操作以及内存管理等多个...

    黑客基地:C语言编程特训班特训5.

    3. **数组与字符串**:一维、多维数组,字符串处理函数(如strcpy, strcat, strcmp等)。 4. **指针**:指针的概念、指针运算、指针与数组、指针与函数、动态内存分配(malloc, free)。 5. **结构体与共用体**:...

    DoS攻击的法律与道德:道德黑客与DoS攻击.docxDoS攻击的法律与道德:道德黑客与DoS攻击all.docxDoS攻击的法律与道德:道德黑客与DoS攻击-(10).网络安全法律法规及道德黑客

    DoS攻击的法律与道德:道德黑客与DoS攻击.docx DoS攻击的法律与道德:道德黑客与DoS攻击all.docx DoS攻击的法律与道德:道德黑客与DoS攻击_(10).网络安全法律法规及道德黑客应遵守的规范.docx DoS攻击的法律与道德...

    Windows黑客编程基础

    【Windows黑客编程基础】这篇文章实际上并不涉及黑客技术,而是针对编程初学者的一篇入门级教程。作者关注的是如何帮助新手快速理解和掌握Windows平台下的编程基础知识。以下是对文章内容的详细阐述: 1. **编程...

    Linux.黑客大曝光:Linux安全机密与解决方案.pdf

    Linux.黑客大曝光:Linux安全机密与解决方案.pdf

    黑客编程教程---初学者必备

    1. **编程语言基础**:首先,你需要了解至少一种编程语言,如Python、C++或Java。这些语言是黑客编程的常用工具,它们有着不同的特性和应用场景。Python因其简洁明了的语法和丰富的库支持,通常被推荐为初学者入门之...

Global site tag (gtag.js) - Google Analytics