IT人如何修煉程式設計的內功[3]

才智咖 人氣:1.52W

我想說的,其實很簡單,程式設計序,就是拆解問題,但講究個拆解的技巧和方法,以前人做過的,別做,儘量用,沒有的,做過一次,儘量保留下來,供下次使用,就這麼簡單。

IT人如何修煉程式設計的內功[3]

那,這和本文的題目"修煉程式設計的內功"有啥關係呢?

當然有關係了,什麼叫程式設計的內功?我的.理解,就是對這個世界的抽象化理解能力以及描述能力。一個工作,能迅速從中提煉出下次可以重複的套路,並且能以一定的規則,就是計算機語言規範,描述出來,擁有這兩個能力,就能保證遇到任何問題,都有辦法寫出程式來。

所以,大家學校中學了很多數學,語言,演算法,資料結構,甚至編譯原理,作業系統,其實這些統統是工具,不是寫程式的目的。

寫程式,就是遇到需求,能迅速抽象,理解其共性,並能以清晰的語言描述出來。上述學科,不是幫助提升你的抽象能力,就是幫助提升你的描述能力,大家看是不是這個道理?

所以,我在帶徒弟的時候,有時候喜歡說一句話,其實作為程式設計師,學習一點語文有好處,因為最能培養描述能力的,其實還是語文。英語不算啊,英語雖然也是一門語言,但中國的教育,一般是能看懂,很少從一個英文文學家的角度培養學生用英文的描述能力。只有我們的語文課,這不但是教語言,而且通過無數次造句和作文,在教大家描述問題的組織能力,這個能力在寫程式的時候,很有用。

這個時候,話題就出來了。中國的語文,先是甲骨文,然後古文,然後白話文,大家發現沒有,總體是越來越簡單,這是發展的趨勢。為什麼呢?因為大家覺得,語文就是讓人懂的,太深奧的東東,不太適合普及,就沒有生命力,反而越簡單的東東,普及越快。

因此,請大家注意,寫程式時拆解,是把問題簡單化,不是說把一個問題描述得晦澀難懂,才叫本事。真正的程式高手,都是簡化問題的大師。

當然,從這個話題,我們是不是可以得出一個結論,其實寫程式的方法本身,程式設計的內功本身,其實是沒有什麼語言特性的,C、C++、Java、PHP、Python…是不是都用的同一種方法在做事情?

因此,我這裡提出,修煉程式設計的內功,是學習抽象能力和描述能力,與語言無關,換而言之,從任何一門語言入門,都可以修煉到內功的極致,關鍵看你用不用心。

因此,學習期間,我的建議,不要好高騖遠,不要去評價語言的好壞,平臺的好壞,沒有多大意義的,你並不能確定這輩子最終能在哪個平臺下用哪種語言開發。撿著手邊有的書,老師教的課程,埋進去學紮實,出來後,換語言比吃盤菜也難不倒哪去。