12 個學習新的程式設計語言的方法

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

Image by : opensource.com

聽說,你決定要為你的 “技能樹” 再添加一門特定的程式設計語言。那該怎麼辦呢?

在這篇文章中,作者提出了 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. 保持你的熱情。入門新的語言很容易,但變得真正精通它通常是一個需要多年的旅程。慶祝一路上你的成功,並與追隨你腳步的學習者分享你所學到的知識,保持著學習編程的興趣。

還有其他學習新的程式設計語言的技巧嗎?歡迎大家在評論區中交流。

編譯自:opensource.com 轉載請註明出處

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.