如何學習編程語言0x02
對沒有編程語言學習經驗的同學來說,可以從想要從事的開發行業來做選擇,比如Android開發需要學習Java,iOS開發需要學習ObjectC/Swift, Web前端開發需要學習JavaScript,後端用的比較多的是Java,Python,PHP。從通用性來看用Java開發還是比較多。
正在學習編程語言的,比如學C/C++的同學,千萬不要覺得學習這門課是無用的,恰恰相反,學習C/C++對編程的理解有非常大的益處。比如理解指針的概念後,你會發現在其他的知識點上,能夠非常自如的套用。同時如果已經掌握了一門編程語言再學習另外一門也更加容易。
對編程語言的學習和掌握是一個螺旋上升的過程,學習完一本書並不意味真正學到這門語言。基礎入門很快,再深入的掌握需要不斷的實踐,再學習。它的學習過程看起來是這個樣子。
並且這個過程會在學習和工作中反覆發生。
有的人喜歡從書本,體系的學習語言知識,這沒有什麼不好,但如果只從書本去學習就會帶來一些問題,特別是選擇了一本大部頭的書來學習。這種方式的問題在於書本在知識點上都是平均分配,而實際工作中是對不同的知識點需求強度不一,就會產生有的知識學了用不上,有的知識點沒學透徹的感覺。
一份入門級別資料更適合開始(篇幅適中,當然質量要高),完成後就可以開始實踐,在實踐中發現薄弱的地方,再返回頭去深入學習,這時候就需要再準備一份中級的學習資料。一遍一遍的反覆這樣的過程,自然就會知道哪些是實戰中需要深入理解掌握的,哪些是需要基本了解的。
不要只做書本後面的習題,入門以後要立即投入到能夠實戰的地方上去。當然這時候肯定不可能有人拿能掙錢的項目來讓你糟蹋。但是可以實戰的地方也有很多,比如開源項目,競賽,克隆現有項目等。教別人也是檢驗你學習的好方法。
定期的升級知識庫,在實踐過程中,即時的收集問題,翻看學習資料。當現有的資料不能夠滿足時,就需要暫停一下,思考下是否要給你的現有知識庫進行升級,加入更高級的資料進行學習。比如,是否要學習這門語言的運行原理等等。
推薦閱讀:
※前端開發學習路線分享,學前端要學哪些內容?
※CovScript教程:前言
※如何有步驟地實現一個解釋器?如果採用低級語言,如C之類的語言來實現像Lisp這樣的語言,需要什麼知識和工具?
※Python有哪些一千行左右的經典練手項目?