論編程哲學的重要性

一談哲學,好像和編程沒什麼關係。而且這種虛無縹緲的高大上抽象思維領域,怎麼和寫代碼這種更接近於邏輯和數學的操作關聯起來?

其實不盡然。

我們說,任何的編程語言和設計思想,都是作者對於現實世界的理解在軟件領域的投射。首先舉一個大家編程中最常見的概念:面向對象。面向對象最初起源於對於人體細胞的隱喻(https://blog.csdn.net/zhang_qxian/article/details/54341763)。每個細胞都是一個獨立的處理信息的單元,細胞之間是通過神經元進行信息的交互(順便歪個樓,喝水有利於信息的傳遞速度,所以程序員腦累了要喝點水),然後多個神經元就通過這種簡單結構的組合,來實現複雜的器官功能。最能夠體現這種思想的是Erlang語言(https://baike.baidu.com/item/Erlang/1152752?fr=aladdin)。詳見Joe ArmStrong的訪談https://blog.csdn.net/zhang_qxian/article/details/54341878。因此,可以說這就是面向對象的編程的哲學。

再舉一個例子,在青少年兒童編程領域中,Scratch已經是公認的最佳選擇,其催生出來的國內的諸多培訓機構,也都是圍繞Scratch進行再次的包裝和升級。Scratch的基本理念詳見《終身幼兒園》一書,其中最核心的部分在於其提出的4P,即Project、Passion、Peer和Play。整個Scratch系統的設計,就是緊緊圍繞4P進行構建,充分體現了其設計哲學。我個人建議,每一個學編程的人,都應該好好看看這本書,對於如何設計具備極大的啓發價值。

最近在忙於招聘,應聘的幾乎所有的Java程序員,都是做網站的,沒有人思考過,其實現的網站的靈魂在哪裏,都是一堆業務流程。

有人可能會問,哲學能當飯喫嗎?其實,我們每天的生活,都和哲學密切相關。每一個個人決策背後,都有其意義支撐。從這點上來說,哲學不僅僅和編程密切相關,而且是相當密切的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章