2010-08-04 87 views
5

我知道這是相當主觀的,但這是我曾經掙扎過的一些東西。由於我將在下面概述的原因,我甚至不敢嘗試學習一門新的語言。如果這個關閉,我想我會笑着承受,但這是我想要解決的問題。程序員學習新語言的最佳方式是什麼?

當我去學習一種新的語言時,似乎大多數學習資源都是針對新程序員的。然後,我最終讀到「詳細」教程或什麼,並感到無聊。我傾向於覺得我浪費了大量時間來處理變量的工作方式,數據類型如何工作以及其他基本事項。這些都是重要的事情,但我可以處理技術術語,不需要像初學者那樣爲我分解的東西。

我也覺得如果我只是潛入一個項目,我會學習不良習慣,並沒有從學習一門新語言中獲得所有好處。我仍然會用我已經知道的範例來做事情,並且將他們篡改爲新語言的工作。

所以,我的問題是:你發現哪種策略最有助於充分利用新語言?你學到了什麼技巧?

+2

查看右邊的那些「相關」問題?閱讀其中的一些。 – 2010-08-04 13:30:04

回答

3

編寫代碼。如果你有一點使用該語言的經驗,那麼你會從書中獲得更多。

您可能會先從另一種語言移植代碼開始,以便您專注於新語言的語法而不是算法。你的第一個端口可能太直接了,但沒關係。然後,在瞭解了更多關於新語言的內容之後,再次返回並移植您的代碼,這次使用新語言的習語。

0

實現語言的標準庫。它們幾乎總是以被認爲是該語言的最佳實踐的方式編寫,並且它會迅速讓您瞭解哪些語言的高級功能更好。

+2

運輸標準庫實現可能與初學者的應用程序代碼有不同的目標 - 例如,性能可能因可讀性和可理解性而受到重視。另外,語言的標準庫很容易讓一個人在合理的學習時間內完全實現。 – 2010-08-04 14:26:38

2

對於簡單的語言,我通過一個通用教程,然後我開始用它編寫一些應用程序。如果我覺得我需要使用特定的庫或技術,那麼我會爲該代碼編寫一個教程。我通過實際解決問題來學習更多。我用紅寶石做了這個。使用更加困難的語言,我可能會購買一本書,並花費6個月的時間閱讀郵件列表等,之後可能會嘗試並使用該語言維護一些開源軟件,然後再開始從頭開始一個應用程序。這就是我正在用Haskell做的事情。

+0

這是PHP框架教程的一個很好的例子。雖然很煩,但它有助於理解框架的各個部分。 http://www.symfony-project.org/jobeet/1_4/Doctrine/en/ **我知道這個問題是關於語言的,但是學習框架並沒有太大的不同 – 2010-08-04 13:26:14

3

有一個名爲Dive into Python的Python教程,它解決了你描述的問題 - 向已經知道編程基礎知識並直接潛入代碼而不是長時間介紹的人解釋Python特定語法。

你應該爲你正在學習的語言尋找一本類似的書。

+0

我已經閱讀並享受了很多。 – Icode4food 2010-08-04 13:12:45

1

我閱讀了語言規範。有什麼我需要知道的,沒有什麼過分的。之後,我舉一個例子程序,開始修改和擴展它,直到我開始熟悉新語言。然後我開始用它編寫我自己的程序。

相關問題