程序員想要通曉多種編程語言可以這樣做

jopen 9年前發布 | 6K 次閱讀 程序員
 

學習一門新的語言是一種冒險。我總是熱衷于嘗試新的東西——學習新的語法,了解不同的模式,乃至徹底改變思維方式。不幸的是,許多開發人員對此不以為然,甚至可能是深惡痛絕的——學習新語言,就得走出舒適區,花時間花精力來學習新的理念和方法。

這段日子,我每天都要用大約5種不同的語言來寫不同的項目!

程序員想要通曉多種編程語言可以這樣做

我應該先學哪種語言?

有關這方面的討論真可謂數不勝數。很多剛進入編程社區的初學者,都會問這個問題,簡直就是前赴后繼。有些人建議先學不費力的,如Python和 Ruby,也有的人認為應該先學例如C、C++和GO這類難一些的低層次的內容。我要說的是我們在選擇新的語言之前,應該注意以下幾個要點。

類型系統

從我的經驗和先前的學習路徑看,這是最重要的概念之一。我很慶幸我一開始學的是C,接著嘗試了C ++,一段時間之后,我又投入了Java的懷抱。然后是Scala,以及現在我開始玩Ruby。同時,我對Objective-C、Python、甚至是 OCaml也有所涉及。哦,對了,最近我正在搗鼓Swift和CoffeeScript。

如果我一開始學的是JavaScript、Python或Ruby,那么后面去理解什么是類型和變量就會非常困難。理解靜態和動態以及弱類型和強 類 型系統之間的區別,對于領悟語言的工作原理是至關重要的。我無法想象,如果我一開始不能掌控類型,那么后面涉及到的聲明與定義,以及匯編與解釋之間的差 異,會是讓人多么頭大的一件事。

不過,也有很多開發人員希望能有立竿見影的效果:既想快速看到結果,又不愿意過多地了解細節。他們喜歡接軌新的應用程序。最好是不用動腦子的語 言, 碰到這樣的他們最開心了。因為在他們眼中,掌握 integer、string和boolean是學習編程的超級大障礙。最好能夠毋須分辨類、對象和方法,直接寫代碼:

  1. scala> println(“Hello World!”) 
  2. Hello World! 
  3. >>> print  "Hello World!"  
  4. Hello World! 
  5. 2.2 . 1  : 001  > puts  "Hello World!"  
  6. Hello World! 

不可否認這種途徑能夠給人信心,讓人覺得自己學到了新的東西。

首先,請明確你屬于哪種類型,擺正自己的位置。你想要探究隱藏起來的工作原理嗎,喜歡深入研究本地執行嗎?愿意去理解語言結構嗎?又或者你只在乎能有快速的結果,不想了解虛擬機和編譯工作,并且語言內部機制對你而言也一點都不重要?

從自己的利益角度考慮

你可能需要處理哪些數據?你打算寫復雜的業務系統還是相對簡單的CRUD創業公司?請基于可能會讓自己感興趣的內容來確定工作領域。

所以,如果你確定你想要去企業工作,那么你可以試試Java或者.NET。如果你傾向于黑客并高度注重安全問題,那么不妨學習C/C ++或Bash。如果你夢想成為一名Web開發人員,那么先掌握PHP、JavaScript或Ruby吧。如果你想要編寫一些機器、機器人、汽車或其他 電子方面的程序——也行,先學C ++或Python吧。你喜歡搗鼓移動設備?那么Java、Swift或C#就應該是你的首選。如果你喜歡數學和算法,那么Lua、Erlang或R就很 適合你。等等等等,不勝枚舉。總之——一切取決于你的目的和愛好。

程序員想要通曉多種編程語言可以這樣做

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!