為什么我喜歡富于表達性的編程語言

openkk 13年前發布 | 7K 次閱讀 編程語言

本文是從 My love… for Expressive Programming Languages 這篇文章翻譯而來。


我的編程之旅從少年時代就開始了,那時學的是GW-BASIC。很快,我學習了C語言,之后是C++。C++里提供的面向對象的語法結構讓我印象深刻,但 是,對于有些像定義范圍控制的概念我還是覺得有些復雜。接著開始學習Java。我立即被它從C++提煉出的更優秀、更簡練的語法所吸引。

那時我還在上學,所以,膚淺的學習(準確的說是試圖學習)一些編程語言是一項有趣的事情。我翻看了一些PHP和Javascript資料。我又開始 跟C#接觸。這種語言還在發展進化。網上盛傳C#是微軟的Java。這讓我更讓我想學C#和深入的了解.NET框架。這時LINQ(語言集成查詢)出現 了,這個東西很不錯。我很高興它能被簡潔的引入到C#中。C#3.0中增加的各種對LINQ的支持,包括lambda表達式,隱式類型變量,匿名類型,查詢表達式等等,使LINQ架構更加完美。到我畢業時,我已經是一名經驗豐富的面向對象開發人員了。

最近,我考慮學習一些語法更加晦澀的語言,就像Jquery的“write less, do more”的口號(盡管Jquery并不是一種語言)。我研究過Python和Ruby,但沒有發現什么令人興奮的。我偶然發現了Scala語言,決定下一個任務就是學它。

通常在學習一門新的編程語言時,我很少去注意這些語言的句法結構(for,if,function/class定義等)。經過了很長一段時間后,我越來越注意一種語言這方面的特點。所以看書時,關于這些結構方面的章節不再輕易跳過。

我正在閱讀Scala編程,作者是Martin Odersky,他是這門語言的締造者。到目前為止,Google Books里已經有很多關于學習Scala的教材。如果你已經學過Scala,你現在應該能理解我為什么說這種語言神奇了。

使用富表達性語言的原因

  • 代碼的陳述很自然。少了那些討厭的語法結構,讓你更集中精力關注邏輯問題。
  • 讓程序員開發時更有效率,更容易修改代碼。
  • 調試起來超級簡單。
  • 個人認為,開發人員更容易利用這些語言編碼方式來優化他們的程序。

當實現某個任務時,唯一能讓我拒絕使用富表達性語言的理由是,也許你也猜到了,是性能問題。你拿LINQ和通過循環收集數據進行比較,循環會更快些。你需要根據自己的情況來判斷,除非有很高性能要求,其它的問題可以忽略不計。

本文轉載自: 外刊IT評論 http://www.aqee.net/

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