Saturday, November 22, 2014

程序员和绘画

今天,我打算说一说绘画是如何帮助我更好的编程的故事。
在一年半之前,如果让我绘画,我除了能用5条线和一个圈画出一个人的形状外,画不出更复杂的图案。我既不认为曾经会过,也不认为以后可能会。但我错了。
如果你能画出这个,就能画出一切。
有一天,我在Hacker News上看到一篇有趣的文章,里面介绍了一些能够帮助我们通过自学来提高自己的书籍,这些书的特点是虽是自学,但不会让你感觉到是一种学习任务。涉及到很多方面,而最有价值的就是这本《像艺术家一样思考(Drawing on the Right Side of the Brain)》,因为它里面提到的方法非常简单,正中我的下怀。
当我最终把它拿到手,开始阅读时….奇迹发生了。这本书是我见到的最好的一本“how-to”书籍,它用非常奇特的方法教你绘画。它并不告诉你绘画技巧知识,它也不推荐你去画一些简单的图形、像学生那样练基本功。它一开始就通过一些简单的练习让你相信你可以绘画,增强你的自信。而这正是我最需要的。
这真是一个意外的礼物。
我通读了这本书,完成了里面每个练习,然后停了下。我停下来是因为这本书已经让我实现心愿——想去证实我不是一个在绘画领域毫无希望的人。我不知道拿我的这些新学的本领去干什么,于是我又恢复了以前业余时间所干的事情——开发游戏,写关于编程的博客。停止了绘画,直到3个月前。
你应该明白,当一个人在开发视频游戏时,他很自然的需要去体验和分析大量的其它种视频游戏,尤其是那些个人独立出品的,你的脑子里经常会出现这样的声音:“喔欧,太漂亮的了,真希望我也能画出这样的场景”,但马上又会想:“没有什么能难倒我的,因为我读了那本书,我也会绘画。”于是,经过了几次这样的刺激后,我再也忍不住要拿起铅笔和纸了。
我又开始了素描。起初,我是在工作之余做这些事情,但很快发现,在具备了一些基本技巧后,我能非常迅速的完成简单的素描,于是我开始尝试在每当遇到新的编程问题、思路卡住的时候画画。让我吃惊的是,我的开发效率大幅提高。
每个程序员都应该深知这一点:编程中更重要的是思考,而不是敲代码(如果你不认同这一点,那你应该改行做打字员)。当在研究一个麻烦问题时,你思考,思考,思考,阅读关于你的问题的文章,思考,也许做一些盲目的实验,再思考,终于赢来了“哦”的时刻,然后,剩下的就是敲代码了。
但这里会出现一些小问题,至少对我是这样。我有拖延症,它会出现在我思考的间隔中。因为专注思考是一件很难的事,收邮件、看微博却是很容易的事。这个毛病在程序员中很普遍,我就是一个永远都在同自己的消极怠工做斗争的人,使用了各种精良武器,但很遗憾,都没有解决核心问题,而是让我更分心。绘画是我的武器库里最后一种武器。

于是,现在我会每天拿出一到两个休息时间来绘画——当我感觉累了或需要大脑放松时。画简单的素描,临摹名画,或完全涂鸦。每次最多20分钟,大多时候这些时间是够用的。绘画后我感觉非常好。
2次休息 x 20分钟 = 这幅画和放松的大脑
我不知道为什么绘画能帮助我编程,我想可能有两个主要原因:
  1. 绘画不会中断工作状态。 绘画也是在工作,只是形式不同。也许正好和逻辑思维工作的编程补充。而看微博会很快打断你的工作状态,比大锤敲脑袋更具破坏力。
  2. 绘画跟编程不一样,它使用的是另外一半大脑,绘画时,大脑在整理你之前的思维。这纯属个人观察,没有科学论据,你也不必相信我。但我认为就是这样的。
放松并不是我要绘画的唯一原因,但的确是很重要的原因之一。并且它有助我做其它事情。希望你能喜欢这篇文章!


http://www.vaikan.com/drawing-as-a-programmer/

No comments: