天天看點

讀《程式設計之道》-對于程式員的抽象描述

《程式設計之道》的第二篇是“古代的大師(The Ancient Masters)”,不知道悟道非常深的作者為何在程式設計大師的前面加上了個“古代”來修飾,我們知道計算機的發展曆史并不長,用上“古代”似乎有點過火了,難道“古代的大師”和現在的大師有所不同?讓我們看看作者所寫的相當抽象的描述吧。

摘錄如下:

“程式設計大師如是說:‘倘若三天不程式設計,生活将變得毫無意義。’”

這句話是開篇語,隻是我不贊同作者的看法,因為我認為程式設計大師不一定要每天都程式設計寫代碼。真正的大師,已經在注重思想方面的了,他可以當架構師、設計師,怎麼還會執着于寫代碼呢?雖然說程式設計可以将大師的思想表達、實作出來,但不程式設計也不至于“生活将變得毫無意義”呀。

此外,如果真如作者所說,連大師幾天不程式設計都覺得不當的話,那是不是說明作為一名初學者更應該非常注重通過程式設計來逐漸學習呢?嗯,也許這就是作者的隐含意思。

“2.2 計算機巨擘圖靈曾經夢到他是一台機器。當他醒來時,他驚歎道:‘我不知道——我是夢到了自己是台機器的圖靈,還是一台夢到了自己是圖靈的機器?’”

不知這故事真或假,圖靈用了相反的描述來說明自己做夢的事情。既然圖靈都不知道自己是機器還是圖靈自身,那麼我們也沒必要去追尋這個這麼抽象的答案了。可以肯定的是,圖靈幾乎将自己與計算機融為一體了,就連思維也陷入進去了…

“2.3 一家大電腦公司的一名程式員參加了一次軟體研讨會。他回來後向經理彙報說:‘為其他公司工作的那些程式員都是些什麼人啊?他們行為拙劣,不顧及自己的儀表。他們頭發又長又亂,衣服又皺又舊。他們闖進我們的會客組,還在我演講時發出粗魯的喧鬧。’

經理說:‘我本不應該派你去參加這個會議,那些程式員是生活在物質世界之外的。他們認為生活是荒唐的,隻是一種意外的巧合。他們來去自如。他們隻為他們的程式而活着,無憂無慮地活着。為什麼要用社會習俗來限制他們呢?他們活在此道之中。”

從上面程式員的回報中我看到的是一位大公司的程式員隻會挑剔其他公司程式員的不足之處,而沒有從自身開始分析兩者的不同,這是不是作者在說明:永遠不要自以為是,正确看待自身以及他人才有利于我們彼此。

而從經理的回答中似乎可以看出,經理了解程式員各方面的特點,似乎在體諒程式員。但是,“生活在物質世界之外”“認為生活是荒唐的”“為程式而活着”是不是也在另一方面強調、譏諷了某些程式員的不恰當想法、做法呢?這個值得我思考一番。

最後,“為什麼要用社會習俗來限制他們呢?”是不是表明了作者贊同隻要一個人各盡其能、各得其所就不應該被社會所否定、批判?是因為這些程式員能夠實作其自身價值嗎?

“2.4 一位初學者問大師:‘有位程式員,從不構思、編寫文檔或測試他的程式,然而所有知道他的人都認為他是世界上最棒的程式員。這是為什麼呢?’

大師回答說:‘那個人掌握了道。他不需要實作進行構思,當系統崩潰時,他不會是以而悶悶不樂,而是心平氣和地接受整個事實。他還從編寫程式說明文檔的需要之中超脫了出來,不在意是否有人看他的編碼。

繼續閱讀