notes
notes copied to clipboard
2017 程式語言清單
目前為止已經學習過數個程式語言,在學習不同程式語言時,可以學到不同的技術、沒學過的概念、產生新的想法。
花了許多時間的有:
- 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,好奇語言內有哪些不一樣的特色
Haskell
- #17
- #18
- #19
Erlang
- #21
正在讀 Haskell Programmings: from first principles ,這本書前面有好幾章認真地幫讀者排除障礙 XD
@caasi 感謝,感覺挺不錯的,一點進去還看到 Lambda Conf XD
我之前有讀了一點《Learn You a Haskell for Great Good》,不過還沒讀完 ... (#17)
PS. 我其實比較好奇怎麼會有人出現在這裡 w
@wdv4758h 覺得你的筆記很棒所以 watch 了啊 XD
我先看了 Learn You a Haskell 才看現在這本的。
Learn You a Haskell 後面介紹各種 monad 時,自己一點一點跟著 code 追 (>>=)
發生什麼,給了我不少幫助。缺點可能是,不動手的話,會讓人以為會寫了。好在現在有 stack ,要動手比只用 cabal 簡單一些 XD
聽說 Swift 4 要借鏡 Rust 加入 Ownership Model,但是因為 Swift 主打的層級沒有 Rust 那麼低,好像沒有要引入 lifetime 的機制,屆時我會蠻有興趣嘗試一下,看看 Ownership 的概念在不同程式語言的套用差異,不過這可能是明年的項目。