不平凡軟件,始于2014
學習新的編程語言的12個方法
聽說,你決定要為你的 “技能樹” 再添加一門特定的編程語言。那該怎么辦呢?
在這篇文章中,小編提出了 12 項關于學習技術的建議。記住每個人學習的方式都不一樣。其中一些可能對你十分有用,而其他的則可能無法滿足你的需求。如果你開始擔心一個策略,請嘗試另一個策略并看看它哪里適合你。
1. 將其與類似的語言進行比較。當你首次觀看有關該語言的第一個教程或閱讀代碼時,請嘗試猜測該語言的每個部分將會做什么,并檢查你的判斷是否正確。
如果記筆記可以幫助你整合信息,請拿起一張紙并記下三個列表:
看起來很熟悉的東西,并且做了預期中的事
看起來很熟悉的東西,但做了意料之外的事
看起來完全是新的東西
例如,如果我用來自 Python 和 C 背景的 Rust 代碼進行此練習,那么在第一個列表中,我會放上用于表示范圍的花括號,!(看起來像是布爾類型的 非,但實際上是 Rust 中的宏定義)則放在第二個列表,類型簽名語法(type signature syntax)放在第三個列表。
如果你保留著初始列表的副本,一旦你更熟練,可使用它通過語言反思你的進展,并提醒自己在嘗試向其他人講授該語言時,有哪些看起來不熟悉的概念。
2. 閱讀語言的官方文檔。如果希望在使用之前吸收大量信息,從閱讀語言的參考資料中可能會受益。不用擔心它們會對你催眠,參考文獻通常是用于查找使用,而不是用來記憶。
3. 使用互聯網搜索。搜索網絡是一個很好的方式,可提供有關特定錯誤和一般最佳做法的信息。當收到錯誤信息時,應搜索信息中看起來是錯誤的獨一無二的部分,但不是代碼唯一的部分。例如,如果錯誤提示 "Error on line 53: Invalid argument exception(錯誤在第 53 行:無效的參數異常)",以語言名稱和字符串 “Invalid argument exception” 這樣的組合搜索,以找到最佳的結果。記住要將錯誤信息中的所有引用內容都包含在內。
還可以在網絡中搜索有關解決語言中特定問題的最佳做法的博文。評估搜索結果中顯示的博客帖子的質量和決定認真采用他們的建議時,請查看作者的公共代碼組合以及發布日期。
4. 與社區接觸。雖然博客和新聞文章具有大量有用的信息,但是你嘗試編寫的特定代碼片段總會有些微妙之處。不要害怕在郵件列表中發帖,或加入 IRC 和 Slack 頻道以尋求幫助。
要提出有幫助的回復的問題,請確保在正確的地方提問。許多語言都有 “初學者” 郵件列表或聊天頻道,專門針對可能會頻繁詢問的問題而建立。當提出問題時,請務必先總結準備做什么、已做過的東西以及發生的情況。盡量為專家提供足夠的上下文來了解問題,但不需要無關緊要的細節。提出問題后,請務必堅持一段時間來聽取建議或會回答你的疑問可能產生的后續問題。
5. 編寫玩具程序。一次練習一個新的概念,很少有任務可打敗只使用某個概念的玩具程序。你可以將重點放在盡可能讓你的代碼清潔和慣用性上。如果你將解決 Project Euler 或 Rosetta Code puzzle 作為玩具程序,則可以將你的解決方案與其他使用相同語言編寫的解決方案進行比較。
6. 使用該語言編寫 “生產就緒(Production-Ready)” 的代碼。玩具程序是一個很好的第一步,但在更逼真的的環境中使用一門語言可幫助探索其現實使用中的優勢和挑戰。考慮將一個熟悉的、相對較小的、經過良好測試的程序移植到新的語言,以探索其在現實使用的應用。
7. 閱讀一本關于這門語言的書籍。如果有好幾本有用的書,比較它們的評論,并考慮哪位作者的背景和自己的最相似。現在有很多電子書可以免費在線閱讀。
在購買有關該語言的書籍之前,請先查看書籍出版的日期以及其示例所涵蓋的語言版本。如果使用的是較舊的書籍,請務必使用其所使用的語言版本的示例。還要在網上調查一下,以了解自出版以來語言發生了怎樣的變化。
8. 觀看講座和課程。如果你學習的語言在在線課堂中有講授,那么視頻應該是公開的。除了學術講座之外,還可以考慮尋找錄制講座、會議談話和有關該語言的博客。當在看電視時,談談你的新語言是一個將學習融入日常生活很好的方式。
9. 閱讀示例代碼。大多數關于編程語言的書籍都會包含代碼片段。你也可以在博客和 Rosetta Code 上找到示例代碼。運行示例代碼、修改它們,并嘗試預測修改后會發生那些情況。
10. 閱讀生產代碼。查找有關該語言所有類型和大小的項目的一種方法是在 GitHub 上搜索它。按最受歡迎或最具影響力進行排序,你的熱門搜索將包括最受歡迎的開源工具。如果想要了解開源項目的設計,可通過郵件列表或 IRC 來與社區進行互動。你甚至可能會發現一些 bug。
11. 尋找好的工具。當使用新的語言時,可向其更有經驗的用戶請教,詢問他們的開發環境。你可能會發現,一個特定的文本編輯器或 IDE 對于新語言的支持比你習慣通常使用的要好。調查在新語言生態系統中管理依賴關系、格式化、模糊化和單元測試代碼的選項。
12. 保持你的熱情。入門新的語言很容易,但變得真正精通它通常是一個需要多年的旅程。慶祝一路上你的成功,并與追隨你腳步的學習者分享你所學到的知識,保持著學習編程的興趣。
相關新聞換一組