《Python從入門到精通》、《Java從入門到精通》、《C++從入門到精通》……當你開始翻開各種程式語言的“從入門到精通”時,你是不是躊躇滿志?心裡還有點小激動?覺得自己學完這本書,就可以“精通”某種程式語言了?結果如何呢,大家最後發現,學了這麼多程式語言,依舊寫不出像樣的程式,最終淪為“從入門到放棄”。問題的根源在哪呢?
一、你可能只學了書本的前半部分
每一本程式語言的入門書籍,前面將近一半的篇幅是用來講基礎知識的,大致包括以下內容:
1.資料型別和變數
2.運算子和表示式
3.控制流(條件和迴圈)
4.函式和類
5.檔案和異常
6.測試程式碼
接著,書本會提供一些專案例項,介紹每一個功能如何實現,並附上程式碼。有多少人滿足於學完前半部分的基礎知識後,找來程式碼,除錯成功執行之後,就沒有繼續鑽研下去了?
有沒有試著從頭到尾把每一行程式碼敲一遍?
每個模組的實現邏輯自己是不是都弄懂了?
書本里的專案完成後,有沒有舉一反三?
程式語言也是一門語言,其實和學英語沒有本質的區別,很多人學習程式設計最後無法堅持的原因,跟學英語是一樣的。多少人學英語多年,依舊寫不了簡單的文章,無法勝任日常工作的交流。學程式設計也是一樣,很多人其實只學了前半本書,相當於學英語只學了基本的單詞和語法,並沒有透過做具體的專案,進行“寫作”和“交流”。計算機是實踐性極強的學科,只有不斷地倒騰程式碼,倒騰專案,才有質的提高。
二、你可能沒想過用程式設計來做點什麼
隨著資訊科技的發展,現在但凡你想用電腦或手機做點什麼事兒,基本都有相應的軟體供你使用。除非你是靠程式設計來謀生的專業人士,貌似沒有什麼動力需要自己動手去程式設計了。這個時候,如果你確實對程式設計感興趣,又不想放棄這個技能,最好給自己設計一些可以實踐的機會。比如你可以設計自己的遊戲和朋友分享,又或者類似資料分析這樣萬金油的技能,你可以用程式設計技術讓自己的水平更上一層樓。
三、你只是“放棄”了程式設計的技能,程式設計思維可沒放棄你
如果最終你沒有繼續程式設計,也沒什麼大不了的。學習程式設計給你帶來思維訓練,就跟其它諸如生物,物理,數學等等學科一樣。這種程式設計思維,可以讓你對技術更敏感,邏輯更清晰,紛繁複雜的世界在你的腦海裡都可以得到快速的梳理。正如喬布斯所言:“我覺得每個人都應該學習一門程式語言。學習程式設計教你如何思考,就像學法律一樣。學法律並不一定要為了做律師,但法律教你一種思考方式。”