為什麼要學習一門新的程式語言?

群峰發表於2014-08-14

在翻譯《全端Web開發:使用JavaScript與Java》時看到一段話感覺很好,先貼出來以饗讀者。

4.7 總結

人們學習一門新的程式語言,或像Maven這樣的輔助工具的原因很多。最常見的原因之一是因為專案需要。很多人都是在開發Rails應用或者使用Chef或Puppet做系統管理時才開始使用Ruby語言的。科學家則因為在工作中需要相關的類庫,而被設計規範、效能優異的Python語言所吸引。

研究表明自然語言影響思考方式。《華爾街日報》上一篇文章論述了該觀點。文章描述了語言是如何深刻影響人們看待和思考周圍世界的,文章說:

關於語言影響思考方式的一些發現:

  • 俄語中有更多關於淺藍和深藍的詞彙,因此說俄語的人能更好地區分藍色系。
  • 一些原始部落的人不說左右,只說東南西北,因此他們的方向感更強。
  • 毗拉哈人的語言中沒有數字,而是喜歡使用很少或很多這樣的詞,因此他們無法精確計數。
  • 一項研究表明,說西班牙語和日語的人無法記起偶發事件中的人物,這點比不上說英語的人。為什麼會這樣?在西班牙語和日語中,肇事者被省略了:他們說“花瓶碎了”,而不說“約翰打碎了花瓶”。

在特定領域表達能力越強的語言,越能讓人在那個領域裡如魚得水。程式語言也是如此。這樣看來,學習一門新的程式語言並不是目的,也不是隻為了完成某個專案,它幫助你用不同的眼光來看世界,從整體上提高了你解決問題的能力。大多數學習Clojure(或其他LISP方言)的人並不是出於專案需要,他們是為了提高自己思考和解決問題的能力。在現存語言(或所有可能的語言)中,LISP方言以其簡單、表達能力強、強大和靈活著稱。對於學習其他語言也是如此,只不過程度上可能不如學習LISP方言這麼深。每種語言都有自己的特性和社群,和其他語言相去甚遠。但是很多差別並不是絕對的,即使不會馬上用到,程式設計師通過學習其他語言和工具也能幫助自己成長。

本章從和其他開發者共同開發的角度,展示了幾種基於JVM的語言和Maven。某些語言可能利於開發者之間的交流,它們能以更好的方式封裝需求,方便日後對專案進行支援和逆向工程。Maven能用來組織專案資源和開發流程,在很多團隊和開發者中,都被證明對專案成功是有益的。儘管讀書是一種個人行為,但程式設計師的很大一部分工作都是和其他程式設計師合作完成的。基於JVM的語言和Maven提供為專案提供了合適的功能,幫助開發者在漫長的開發週期中和其他開發者互動。

相關文章