2010-07-07 58 views
2

在我們生活中的某個時刻,我們處於學習新語言(無論是按工作要求還是熱情)的情況。就我個人而言,我正在努力學習來自多年PHP編程背景的Objective-C。我的問題是我厭倦了你的平均起步課程(其中大部分來自數學;例如:斐波那契)。學習新語言時要解決的算法/問題

在學習新語言時,你寫的第一個算法和程序是什麼?

我想我們可以做的有趣的問題列表,以解決,這將使學習曲線至少更有趣。

後來編輯: 我的問題是關於樂趣的東西(也有用),但不喜歡Code Kata或其他很無聊數學的東西(我已經做了很多那些已經的)

後來編輯[2]: 我發現this今天出現這樣的問題似乎有趣的事情。

+2

可能的重複:http://stackoverflow.com/questions/2545302/ – 2010-07-07 08:20:17

+0

不完全...我不喜歡數學問題。我喜歡有趣的事情。代碼卡塔是booooring。 – 2010-07-07 08:47:08

+2

每個人都喜歡「有趣的事情」,但顯然我們的樂趣不同。沒有告訴我們你找到什麼有趣的事情,這將很難回答。爲什麼不只是做你認爲有趣的事情之一? – Ken 2010-07-07 13:23:42

回答

3

嘗試開發一些適當的東西,某種項目;解決算法問題確實只會教你運用算法,而不是真正關於你使用的語言。

決定再一個有用的項目決定一種語言,然後「做」將覆蓋很多需要學習一門新語言的依據。

+0

那麼,這裏的問題是圍繞「有用的項目」:)我寫了這個問題,試圖找到有趣的東西(有用,以及)代碼,同時學習一種新的語言。 – 2010-07-07 08:48:09

0

試圖用新的語言來解決these挑戰。什麼是一回事:

在軟件,我們做我們的 執業的工作,這就是爲什麼我們做的工作 錯誤。我們需要找到 從 行業分解練習的方式。我們需要練習 會議...

0

你也可以試着去理解或改進現有的開源項目,在這個如此question建議。即使答案是可可偏見,它應該是一個很好的起點。

通過這種方式,您可以深入到您選擇的級別(理解,調試,改進)以及您感興趣的方向(UI,特定圖書館等等)。

編輯:當我說起點,我的意思是,你可以瀏覽Objective-C代碼庫,例如sourceforge

1

每當我拿起一個新的語言,我嘗試使用它來解決問題,在SPOJ。他們基本上支持所有主流語言(以及一些像Intercal和Whitespace這樣的esolang)。這些問題主要來自全球各種ACM和類似的格式比賽,因此可能會非常困難,也可能因爲每個人的口味而過於CS /數學。任何語言的教程問題都很適合。

我還建議將該語言的標籤添加到您的SO感興趣的標籤列表中。許多SO問題都涉及小代碼片段,試圖回答它們並查看其他答案可能非常有啓發性。

但是,一旦我掌握了基本知識,我選擇的策略就是嘗試一個非常小的項目。通常這是一個簡單的遊戲,GUI應用程序或一個小小的webapp。這是很有價值的,因爲有些事情你不能通過只做一小段代碼來學習。