编程的艺术
以前对编程最一致的误解是思维活动是纯技术性的,本质上来说完全准确,就像数学和物理一样。但计算是准确的,编程却不是。前者是机器操作的结果,后者仍是人类行为。
处于顶层抽象概念上的编程需要很多创造力,而工具和技术我们可以在教室里学习到;所有的理论表明只需要一小部分需求就能创造一个伟大开发者。
如何让开发者更优秀。当技术知识、好奇心、创造力和经验平衡的时候就会产生奇迹
不是所有开发者是一样的
人生来就不是平等的,从最开始我们的动机、目标和挑战也是不同的。我只能讲我自己的经验,我的动机绝对和去尝试数学和精密科学无关。
在我 13 岁的时候,我开始了第一段编程经历。就是在学校与众不同的电脑教室里,我们学了如何用 Clipper 来做一些简单的东西。老师也尝试教我们 Word、Excel 等等。看着我们如何用一些代码创造出小东西,那对我来说是让人兴奋的经历。
我有一个艺术家和一个工程师的父母,很小就受到父母的影响。我认为能让两者结合起来会是世界上最好的,那就是逻辑之上的艺术。
我明确和强烈的编程动机,从那时起,成了一种创造「无中生有」的能力,用代码把想法带到生活中。
编程即艺术
我认为编程就是艺术的一种形式,你知道:不是所有的艺术家都是一样的。像很多画家一样,很多程序员也只是在复制东西,从来没有带来原创的东西。
真正的艺术家是不同的。TA 们都能去创造新东西,TA 们为未来带来新的标准,TA 们把现在的环境「变」得更好,TA 们不恐惧危机。「复制者」会尝试说「为什么不不用 X 或者 Y 来创造新东西呢?」让 TA 们停下。
因为 TA 们不会满意用 X 或 Y,所以 TA 们要成为学习工具来自我实验;因为 TA 们想要创造,所以 TA 们在代码中表达自己;TA 们只想无拘束的去做,所以即使不是大事儿也可以改变世界。
「最有创意的人都愿意工作在朦胧阴影里」- Ed Catmull,Creativity Inc.
出于对他人工作的尊重,即使你好像在哪儿见到过类似的表达,那是他/她们的表达。他/她们不想去重造轮子,TA 们只想去造一个更好的轮子,或者对 TA 们目的更好的轮子。
这就是如何给生活带来点惊奇。