程序員和繪畫
今天,我打算說一說繪畫是如何幫助我更好的編程的故事。
在一年半之前,如果讓我繪畫,我除了能用5條線和一個圈畫出一個人的形狀外,畫不出更復雜的圖案。我既不認為曾經會過,也不認為以后可能會。但我錯了。
如果你能畫出這個,就能畫出一切。
有一天,我在Hacker News上看到一篇有趣的文章,里面介紹了一些能夠幫助我們通過自學來提高自己的書籍,這些書的特點是雖是自學,但不會讓你感覺到是一種學習任務。涉及到很多方面,而最有價值的就是這本《像藝術家一樣思考(Drawing on the Right Side of the Brain)》,因為它里面提到的方法非常簡單,正中我的下懷。
當 我最終把它拿到手,開始閱讀時….奇跡發生了。這本書是我見到的最好的一本“how-to”書籍,它用非常奇特的方法教你繪畫。它并不告訴你繪畫技巧知 識,它也不推薦你去畫一些簡單的圖形、像學生那樣練基本功。它一開始就通過一些簡單的練習讓你相信你可以繪畫,增強你的自信。而這正是我最需要的。
這真是一個意外的禮物。
我 通讀了這本書,完成了里面每個練習,然后停了下。我停下來是因為這本書已經讓我實現心愿——想去證實我不是一個在繪畫領域毫無希望的人。我不知道拿我的這 些新學的本領去干什么,于是我又恢復了以前業余時間所干的事情——開發游戲,寫關于編程的博客。停止了繪畫,直到3個月前。
你應該明白,當 一個人在開發視頻游戲時,他很自然的需要去體驗和分析大量的其它種視頻游戲,尤其是那些個人獨立出品的,你的腦子里經常會出現這樣的聲音:“喔歐,太漂亮 的了,真希望我也能畫出這樣的場景”,但馬上又會想:“沒有什么能難倒我的,因為我讀了那本書,我也會繪畫。”于是,經過了幾次這樣的刺激后,我再也忍不 住要拿起鉛筆和紙了。
我又開始了素描。起初,我是在工作之余做這些事情,但很快發現,在具備了一些基本技巧后,我能非常迅速的完成簡單的素描,于是我開始嘗試在每當遇到新的編程問題、思路卡住的時候畫畫。讓我吃驚的是,我的開發效率大幅提高。
每 個程序員都應該深知這一點:編程中更重要的是思考,而不是敲代碼(如果你不認同這一點,那你應該改行做打字員)。當在研究一個麻煩問題時,你思考,思考, 思考,閱讀關于你的問題的文章,思考,也許做一些盲目的實驗,再思考,終于贏來了“哦”的時刻,然后,剩下的就是敲代碼了。
但這里會出現一些小問題,至少對我是這樣。我有拖延癥,它會出現在我思考的間隔中。因為專注思考是一件很難的事,收郵件、看微博卻是很容易的事。這個毛病在程序員中很普遍,我就是一個永遠都在同自己的消極怠工做斗爭的人,使用了各種精良武器,但很遺憾,都沒有解決核心問題,而是讓我更分心。繪畫是我的武器庫里最后一種武器。
于是,現在我會每天拿出一到兩個休息時間來繪畫——當我感覺累了或需要大腦放松時。畫簡單的素描,臨摹名畫,或完全涂鴉。每次最多20分鐘,大多時候這些時間是夠用的。繪畫后我感覺非常好。
2次休息 x 20分鐘 = 這幅畫和放松的大腦
我不知道為什么繪畫能幫助我編程,我想可能有兩個主要原因:
- 繪畫不會中斷工作狀態。 繪畫也是在工作,只是形式不同。也許正好和邏輯思維工作的編程補充。而看微博會很快打斷你的工作狀態,比大錘敲腦袋更具破壞力。
- 繪畫跟編程不一樣,它使用的是另外一半大腦,繪畫時,大腦在整理你之前的思維。這純屬個人觀察,沒有科學論據,你也不必相信我。但我認為就是這樣的。
放松并不是我要繪畫的唯一原因,但的確是很重要的原因之一。并且它有助我做其它事情。希望你能喜歡這篇文章!