分享一些自己的學習過程和學習方法(來自daimajia)
每天,都會有人在微博上私信我,問我關於學習和成長的問題。這種問題我一般都不會回覆某個j,畢竟每個人的情況不一樣,每個人對待事物的性格也不一樣,我不能誇下海口的說,你看某本書幾個月就能如何如何,我能做的多數時候只是鼓勵鼓勵,其次我也從不認為我已經成長到一個多高的境界上,讓我去給別人做指導,我還是當之有愧的。
但是,有時候看到大傢俬信我的時候,確實是處於一種很痛苦或是需要幫助的狀態上。 最近晚上有空,就想寫寫自己從第一次接觸程式,到一路顛簸學到今天的一些故事和經驗,希望對大家有所幫助。
學習的三個階段
第一階段:消費者階段
我在快上高中的時候,開始接觸的程式。那會兒家裡有一本 Visual Basic 的書,30 多頁左右,也是家裡唯一一本計算機類書籍,是我哥學校發的一本課外書,他對計算機貌似沒有什麼興趣,就一直堆在家裡,直到無意中被我翻到。
書裡的程式格外的簡單,幾行簡單的英語程式碼,就能讓計算機彈出一個對話方塊,當時看到簡直神奇極了!躍躍欲試的在老媽店裡的電腦上一步一步的敲下程式碼,彈出一個簡單的對話方塊,那一瞬間,感覺像是推開了新世界的大門,從此一發不可收拾。 實踐完 VB 後,又在小書攤,看到了一本 《黑客 X 檔案》,看著各路高深的入侵,木馬,盜號,試圖努力學會這些技能,然後去跟朋友們炫耀,但一直都無法入門。因為需要太多計算機的基礎知識了,不是寫個彈框,或者計算器水平的人能搞定的。
那會兒家裡也沒有懂電腦的,也沒有人可以問,又處在小城市,連個培訓班都沒有。
隨即,開始漫漫買書求學路。
一旦開始買書,就進入了學習的第一個階段:消費者
階段。當個消費者其實是個挺輕鬆的事情,對著書本照貓畫虎,一會兒就能跑起來一個看著很有趣的程式。
那會兒,瘋狂的買各種書,但是由於周圍沒有人指導,買了很多類似 21 天 xxx 系列的書,那會兒真的有這種書,我還抱有幻想⋯⋯覺得 21 天后我就⋯⋯
現在想想國內的圖書市場簡直惡劣到一定程度。很多高校,教師升職評比需要考察發表書籍情況,導致國內一大批爛書其實都是高校老師發出來的。我現在依然認為國內 95% 的技術類書籍是不值得買的,除了像侯傑老師這種文筆很好的技術人以外。
很多作者總是做不到『以讀者能理解的順序,而非自己認為的順序』寫文章,坑害了不少對計算機有興趣的同學。我一直很崇拜侯傑老師的另一個原因是侯傑老師的書,總是能把你最想問的,如同庖丁解牛,深入淺出的解答出來。就如同 MFC 框架(很早前的一個 Windows SDK 框架,現在已經用的很少了),MFC 是很複雜的一個框架,所有初學的人,都會問一樣的問題:"這玩意兒是怎麼工作起來的?!",但所有國產的 Visual C++ 的書,都避而不答,讓你照貓畫虎的做,就能彈出一個窗體。當初國內只有 《深入淺出 MFC》一書,講明白了背後的一切。
學完一些基礎知識後,就進入了學習的第二個階段 實踐者階段 階段。所謂實踐者,就是開始用自己所學,去開發程式,成為一名專業或非專業的碼農,很多人的職業生涯,也就停留在了這個階段,過上了小富即安的程式設計師的日子。
我從消費者階段過度到實踐者階段大概用了三四年的時間,其實已經挺長的了。我一直都認為我是一隻笨鳥,無意中起飛,卻飛了很久的那種。
第二階段:實踐者階段
我真正開始實踐的,是在本科學校做的幾個網站。
第一個是個學校的匿名聊天系統,就是所有人都可以登入學校的站點,然後會匿名匹配到一個異性,開始聊天,當時用的 Asp.net 做的開發,配合 ajax + jquery,但由於當時技術太差,導致很多人聊著聊著就斷線了,導致小產品不告而終。
第二個是給我們資訊學院開發的一個官網,用的 PHP。在做這個網站的同時,我選修了一門叫《網路安全》的課程,這門課的老師叫陳路,我曾當著老師的面兒,誇下海口,我開發的官網,堅不可摧...(大概這個意思