在很多討論場合我們經??吹竭@樣的問題:弱弱地問一下,我想做個XXX東西,需要學習哪方面的東西?然后下面有“高手”這么回答:你可以先學XXX語言,和XXX工具,還要熟悉XXX框架……然后后面還有“高手”覺得不對,說:XXX語言已經過時了,比不上XXX語言,XXX語言才是主流……
這個問問題的同學最終還是很無奈,亂看一通書,到處去下載各種技術的視頻教程,好在他還算是有耐心,幾乎把所有語言的過了一遍,不停的在那里用各種語法練習輸出“Hello World!”和水仙花數。
哪些高手們說錯了嗎?沒有錯,誰說的都有道理,但是最終還是沒有解決問題,原因就在于沒有抓住重點。其實我們可以很簡單的用例子來對比一下,這好比一個人要做一道菜,光告訴他用什么鍋,用什么材料就夠了嗎?關鍵在于“方法”,什么時候,什么狀態做什么,掌握什么火候?這些都不是三言兩語就能夠概括的,很多東西其實描述起來很難,理解起來更難,實踐一下就會很容易看清其中的奧妙。周星馳演的食神里面最后有個“黯然銷魂飯”,材料很簡單,但是功力深厚,照樣很牛。
我一般主張按需所學,學以致用,例如XHTML+CSS的學習,我建議是直接去看成熟網站的源代碼,其實也就是那幾個標簽和屬性,標簽無非就是a、div、ul、li、img這幾個,屬性也無非就是margin、padding、float、font、background等幾個,理解之后,然后對照著寫一遍(不是照抄),體會其中的屬性數值和漂浮結構,如果遇到不會的HTML標簽或者CSS屬性再去查看相關的手冊或者去論壇求助,而不是一開始就看什么這個寶典那個圣經之類的東西。這些書也是需要看的,但是初學者還是少看多練,多多去領悟,經驗往往是實踐出來的,而不是看別人的所謂的經驗云云,因為不去做很難體會到其中的奧秘。
這年頭搞IT這一行也不算是什么稀有職業了,我越來越覺得程序員就像廚師,隨著技術和教育的越來越普及,做個網頁比做個西紅柿炒雞蛋還簡單,看到好多小朋友都會找一堆CSS和JS的空間代碼貼一下、搞一下,花花綠綠的看上去還挺專業。那么我們搞這一行的怎么才能在這個社會中立足呢?這就需要火候,我們做出來的程序就要像大飯店的飯一樣,色香味俱全,看著整潔專業,還得有營養,也就是能解決軟件原有的需求。就像標題所述:做程序好比做菜,關鍵技術不是油鹽醬醋!而是程序員的火候!
本文作者:阿澤,首發于:阿澤的驛站 http://www.a-ze.com 轉載請注明出處,謝謝合作!歡迎交流、批評指正!