Paul Graham在《黑客与画家》里说,“编程是一种艺术创作”。
Stephen Gary Wozniak这样描述程序员,“我们不停地添加代码,像画家添加色彩,作曲家添加音符,每一个小细节都必须有依据……努力使每件事情完美地组合在一起,以一种前人未曾做过的方式。这使得工程师称为真正的艺术家。”
对于我来说,虽然接触编程时间不到3个月,但是每次敲键盘的感觉和弹琴很像。前者以视觉的形式呈现,后者以听觉的形式呈现。
当很多人6岁就开始接触编程的时候,我压根不知道编程是什么东西。那时的我,还在房间里练贝多芬的《致爱丽丝》,虽然我当时心里很不喜欢这首曲子,但是为了在台上展示给别人看,或者展示给家里的客人看,不得不按照家长的要求,埋头练。心里却很不爽。这种不爽的感觉延续了12年。直到上大学,没有在父母的掌控下,才摆脱。
“展示”这个词,从来不属于我。因为我真心不喜欢“展示”。弹琴,不是为了证明自己,博得别人的赞扬,而是一个很纯粹的目的,让自己觉得爽。至于别人爽不爽,我不知道,也不想管。
而编程也是一样的道理。不是为了“展示给别人看”,才去编程,而是因为“I feel good” 。
弹琴时,有两个时刻让我感觉最爽,一是弹大师的曲子,二是自己弹自己创作或者改编的曲子。记得自己第一次改编的曲子是《小星星》,一个下午编了10多个版本。当我重新审视自己玩弄的曲子的时候,突然发现一点,那就是很多地方有其他曲子的影子。也是那个时刻,我突然意识到“内化”(internalize)这个词的含义。
而编程也是一样的道理。要想“内化”,必须先学习。
音乐当中,唱名,顾名思义,指唱谱时所用的音符的名称,即1234567(do re mi fa sol la si)。而音名是音乐中的各音自己的名称,用字母命名,分别为CDEFGAB。
D大调是一个基于D(re)音的大调,英文为D major。之所以要把这个系列命名为D大调,原因有两个:一,是因为这个系列主要是一些官方文档(Documentation)的学习笔记,我取这个单词的首字母;二,是因为我的身份是一个开发者(Developer), 同样,我取这个单词的首字母。
希望大家和我一起来学习,也希望大家能给我指出笔记中总结不当的地方。非常感谢。
(如需转载,请注明出处,谢谢。)