編程為什么有趣?首先是一種創(chuàng)建事物的純粹快樂。如同小孩在玩泥巴時(shí)感到愉快一樣,成年人喜歡創(chuàng)建事物,特別是自己進(jìn)行設(shè)計(jì)。我想這種快樂是上帝創(chuàng)造世界的折射,一種呈現(xiàn)在每片獨(dú)特、嶄新的樹葉和雪花上的喜悅。
?
其次,快樂來自于開發(fā)對(duì)其他人有用的東西。內(nèi)心深處,我們期望其他人使用我們的勞動(dòng)成果,并能對(duì)他們有所幫助。從這個(gè)方面,這同小孩用粘土為
“
爸爸辦公室
”
捏制鉛筆盒沒有本質(zhì)的區(qū)別。
?
第三是整個(gè)過程體現(xiàn)出魔術(shù)般的力量
——
將相互嚙合的零部件組裝在一起,看到它們精妙地運(yùn)行,得到預(yù)先所希望的結(jié)果。比起彈珠游戲或點(diǎn)唱機(jī)所具有的迷人魅力,程序化的計(jì)算機(jī)毫不遜色。
?
第四是學(xué)習(xí)的樂趣,來自于這項(xiàng)工作的非重復(fù)特性。人們所面臨的問題,在某個(gè)或其它方面總有些不同。因而解決問題的人可以從中學(xué)習(xí)新的事物:有時(shí)是實(shí)踐上的,有時(shí)是理論上的,或者兼而有之。
?
最后,樂趣還來自于工作在如此易于駕馭的介質(zhì)上。程序員,就像詩人一樣,幾乎僅僅工作在單純的思考中。程序員憑空地運(yùn)用自己的想象,來建造自己的
“
城堡
”
。很少有這樣的介質(zhì)
——
創(chuàng)造的方式如此得靈活,如此得易于精煉和重建,如此得容易實(shí)現(xiàn)概念上的設(shè)想。
?
然而程序畢竟同詩歌不同,它是實(shí)實(shí)在在的東西;可以移動(dòng)和運(yùn)行,能獨(dú)立產(chǎn)生可見的輸出;能打印結(jié)果,繪制圖形,發(fā)出聲音,移動(dòng)支架。神話和傳說中的魔術(shù)在我們的時(shí)代已變成了現(xiàn)實(shí)。在鍵盤上鍵入正確的咒語,屏幕會(huì)活動(dòng)、變幻,顯示出前所未有的或是已經(jīng)存在的事物。
?
編程非常有趣,在于它不僅滿足了我們內(nèi)心深處進(jìn)行創(chuàng)造的渴望,而且還愉悅了每個(gè)人內(nèi)在的情感。