像程序员一样地思考
在成為程序員的道路上,要經(jīng)歷四個坎坷,讓我們用四個境界來標(biāo)明他們。
第一境界,就是前面所說的,掌握一門或則幾門編程語言,會模仿例子來實現(xiàn)程序代碼,并且讓代碼在計算機系統(tǒng)中運行起來。達(dá)到這個境界的人,還不能算是真正 意義上的程序員,而僅僅是掌握了一種或幾種工具的工匠,他們中的熟練者能夠快速模仿現(xiàn)成的例子,以實現(xiàn)自己或則用戶需要的軟件模塊。
第一境界的特質(zhì)是對語言工具的掌握,在這個境界里的高手,會強調(diào)自己對語言如何如何熟練,因此這個境界可以用“知器”來表示。
第二個境界里,我們要學(xué)習(xí)的是分解問題和推理的技巧,學(xué)會用邏輯的語言來精確地表達(dá)一個命題。在這個境界里,軟件工作者掌握的是一種分析具體事物的方法,他們不再一味地模仿,而是開始對一個又一個問題思考并嘗試用自己的方法來更好地解決。
在這個層次里的程序員開始關(guān)注解決問題的思路,并且關(guān)注分析和推理的數(shù)學(xué)技巧,他們中的優(yōu)秀者熟知各種算法善用各種各樣的命題推理來分析并解決問 題。他們同樣善于借鑒前人的例子,但是往往能夠根據(jù)問題的特點進(jìn)行有效的改進(jìn),并且能夠在嘗試改進(jìn)的過程中得到創(chuàng)新的成就感和新的經(jīng)驗。在這個層次里的 人,對語言的認(rèn)識比第一境界更加深刻,他們是真正知道如何利用手中語言工具的特點更好解決問題的人。但是他們并不會強調(diào)自己對語言如何熟悉,也不再熱衷于 宣揚掌握如何如何多的語言,在他們眼里,語言僅僅是一種工具而已,真正重要的是分析問題的方法。
第二境界的特質(zhì)是對具體問題的分析,在這個境界的高手,往往善于從具體問題中分析出合理有效的解決方法。因此用“格物”表示。
第二境界里有真正對如何用程序來解決問題經(jīng)驗豐富的人,這些人能夠出色地勝任編碼工作,因此我們稱他們?yōu)镃oder,或則初級程序員。
第三境界里,我們要學(xué)習(xí)的是抽象思維和找出事物表象后的規(guī)律。在這個境界里,軟件工作者不再針對一件一件具體的事物來分析,而是嘗試?yán)斫馐挛锉硐笙碌谋举|(zhì)。在這個層次里的人,開始關(guān)注事物的共性,并且逐漸掌握歸納和總結(jié)的方法。“模式”開始出現(xiàn)在他們的頭腦里。
第三境界的特質(zhì)是對事物本質(zhì)規(guī)律的認(rèn)識,在這個境界的高手,往往能夠快速的抽象問題的本質(zhì),從而用最適合的方法來解決問題。這個境界我用“明理”來表示。
達(dá)到第三境界的程序員,是天生的設(shè)計師,他們對問題的本質(zhì)領(lǐng)悟能力幫助他們用優(yōu)美簡潔代碼來解決問題,他們的代碼中充滿設(shè)計思想。他們是真正能夠享受到程序設(shè)計的藝術(shù)魅力并且充滿成就感的一群人。
第三境界里的程序員真正當(dāng)?shù)闷餚rogrammer稱號,他們在外人眼里看起來是天生的設(shè)計師,藝術(shù)家或技術(shù)牛人,他們是為軟件創(chuàng)作而生的。
第三境界程序員中的極優(yōu)秀者,并不滿足于專家的地位和高薪,他們開始向第四境界艱難地前進(jìn)。第四境界是程序設(shè)計領(lǐng)域的最高境界,要達(dá)到這個境界,只需要掌握一樣?xùn)|西,然而這個東西并不是尋常之物,而是許多人窮盡一生也無法得到的,這個世界最為深邃的秘密。
這樣的東西,叫做“道”。
對第四境界的程序員來說,“思想”已經(jīng)不再是很重要的東西,因為他們對程序本質(zhì)的理解已經(jīng)超越了問題本身,在他們的代碼里,有的只是自然,現(xiàn)實和虛 幻的邊界都已經(jīng)模糊,一個完美自治的系統(tǒng)在剎那間誕生,卻仿佛從恒古時刻便存在著運動著,從簡單而質(zhì)樸的規(guī)律中涵蓋著世間萬物的本質(zhì)。因此,這個境界,我稱之為“成道”。
?摘自《Javascript 王者歸來》
轉(zhuǎn)載于:https://www.cnblogs.com/talent/archive/2009/05/21/1486561.html
總結(jié)
- 上一篇: ufs qfil注意事项
- 下一篇: 学习笔记(22):Python网络编程并