notes icon indicating copy to clipboard operation
notes copied to clipboard

2017 程式語言清單

Open wdv4758h opened this issue 8 years ago • 7 comments

目前為止已經學習過數個程式語言,在學習不同程式語言時,可以學到不同的技術、沒學過的概念、產生新的想法。

花了許多時間的有:

  • C:我一開始學習的語言,建立一開始對程式設計的概念
  • C++:體會到 Template 的強大,以及在後來的 C++11、C++14 中見到 Ownership 的概念,還有相關的編譯器優化(例如 RVO)
  • Python:體會極度 OO 的程式語言,以及動態語言的便利性和效能上的損失
  • Rust:體會到 Ownership 廣泛運用到語言設計中,藉此達到不用 GC 的 Memory Safety,以及像似於 Haskell Typeclass 的 Rust Trait 的方便性

稍微嘗試過,但花的時間不多,沒有鑽很久的:

  • Common Lisp:曾經因為修課關係有花點時間接觸,第一次接觸到 S-expression
  • Prolog:曾經因為修課關係有花點時間接觸,對於撰寫和思維上有很不一樣的體會
  • JavaScript:因為開發網頁而有接觸(jQuery、AngularJS 等),但是撰寫的時間不長
  • PHP:因為網站開發及維護的工作而有接觸,但是撰寫的時間不長

預計 2017 年要學習的:

  • Erlang:由於其使用的領域,好奇對於 Concurrency 相關的設計是否有其獨到之處可以學習
  • Haskell:為函數式程式語言中廣為使用案例,應該可以從中學習到許多不同的概念及想法
  • Coq:出自於法國的 INRIA,在 Formal Verification 中經常使用的語言,對於該領與我目前接觸不多,想多碰碰
  • OCaml:出自於法國的 INRIA,為 ML 家族的程式語言,為函數式程式語言中特別講求效能者,想研究其設計(目前也沒有接觸過 ML 家族)
  • Idris:打著 Dependent Type 及和 Agda 相似的 Type System,好奇語言內有哪些不一樣的特色

wdv4758h avatar Jan 08 '17 14:01 wdv4758h

Haskell

  • #17
  • #18
  • #19

wdv4758h avatar Jan 08 '17 14:01 wdv4758h

Erlang

  • #21

wdv4758h avatar Jan 08 '17 14:01 wdv4758h

正在讀 Haskell Programmings: from first principles ,這本書前面有好幾章認真地幫讀者排除障礙 XD

caasi avatar Feb 02 '17 22:02 caasi

@caasi 感謝,感覺挺不錯的,一點進去還看到 Lambda Conf XD

wdv4758h avatar Feb 03 '17 04:02 wdv4758h

我之前有讀了一點《Learn You a Haskell for Great Good》,不過還沒讀完 ... (#17)

PS. 我其實比較好奇怎麼會有人出現在這裡 w

wdv4758h avatar Feb 03 '17 04:02 wdv4758h

@wdv4758h 覺得你的筆記很棒所以 watch 了啊 XD

我先看了 Learn You a Haskell 才看現在這本的。

Learn You a Haskell 後面介紹各種 monad 時,自己一點一點跟著 code 追 (>>=) 發生什麼,給了我不少幫助。缺點可能是,不動手的話,會讓人以為會寫了。好在現在有 stack ,要動手比只用 cabal 簡單一些 XD

caasi avatar Feb 03 '17 07:02 caasi

聽說 Swift 4 要借鏡 Rust 加入 Ownership Model,但是因為 Swift 主打的層級沒有 Rust 那麼低,好像沒有要引入 lifetime 的機制,屆時我會蠻有興趣嘗試一下,看看 Ownership 的概念在不同程式語言的套用差異,不過這可能是明年的項目。

wdv4758h avatar Feb 20 '17 04:02 wdv4758h