Re: [問題] 大家覺得函數式語言有前途嗎?

看板Programming作者 (一卡那亞)時間11年前 (2013/10/04 00:29), 編輯推噓3(302)
留言5則, 5人參與, 最新討論串2/4 (看更多)
※ 引述《carelai (風云人物)》之銘言: : 就是以Haskell,OCaml,Clojure,Scala為代表的語言, : 在將來會有前途嗎?正面和反面的理由各是什么?謝謝諸位。 我幫 irc 上的前輩簡單轉達他個人的看法。 要正確分析這問題得從經濟跟語言的角度同時討論,並不是 簡單就可以回答的問題,如果是問最容易轉移,那答案可能 是 Scale。 下面是我自己的經驗。 經濟的部份我也回答不了,但如果是討論語言的話,我還算 有一些心得可以給你,因為 clojure 跟 Scala 不在我的守 備範圍內,也就不講這兩個了,就說 haskell、ocaml、sml 、scheme 這四個。 sml 跟 ocaml 是 ML 的兩個方言,有人在 coursera PL 課 的討論區問 Dan Grossman(該課的教授)你自己平常用哪個 sml (PL 課的第一個語言是 SML)實作品,他回答:「我教 學都用 sml,實際開發則用 ocaml 但完全不使用OO 的部份」 sml 有非常嚴謹的規格定義,只要有寫在定義內的,所有實作 都會相容,甚至有直接把其它實作品 lib 拿來用的(mlton)。 但是沒寫在規格內的東西,大家就會以自己的意思去做,例如 IO ... ocaml 相較於 sml 就沒有這麼嚴謹了,好處是謹此一家,如 果我們不算上微軟的 F#.....相較於 sml,ocaml 實用的 lib 很多,處理utf8 的部份也比 sml 方便,如果你跟我一樣不 想用 OO 又想逃離 monad,那 ocaml會是不錯的選擇。 haskell 是目前 ML 系語言中,社群整合最好的,cabal 很方便 就能下載別人寫好的 lib 來用,但相較於前兩者,要跨過的門 檻就高很多,一般的 FPL 都會提供一個用來宣告 side-effect 變數的方法,即使是很雜的 Common Lisp 也有區分這兩者, haskell 用來提供 side-effect 的做法叫作 monad,這還只是 第一個門檻,光這個就可以讓人花上半年一年去搞懂它了,更 不必提載下來的兩個 lib 都有 monad 的時候該怎麼辦了。 但是當我們想了解 Types 是什麼,PL 又是什麼,又例如該怎 麼設計一個 PL 的時候,最容易幫助我們理解並且解決這些問題 的通常會是 FPL,你可以 google 書單,就不多講這個了。 scheme 也是很不錯的語言,除了很多人靠悲的 () 這個,雖然 有規範,但實作品之間的相容度不高,很多時候光是宣告一個 function 的 keyword 就不相容了,這語言好在一致性,開頭 一定是函數,如果你看不到函數,那代表被 sugar 隱藏起來了, 至於這語言有多棒多好用,我建議你搜尋「王垠」。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.236.22.105 我還沒打完,不小心按到發送了啦XDDDDDDD 本來想要儲存,明天再繼續打的.....Orz||| ※ 編輯: drm343 來自: 36.236.22.105 (10/04 00:35)

10/04 10:30, , 1F
難怪看起來有點短
10/04 10:30, 1F

10/06 19:38, , 2F
最容易轉移的是Scala :QQ
10/06 19:38, 2F

10/07 19:40, , 3F
阿,打錯字了XD
10/07 19:40, 3F

10/15 07:38, , 4F
哪個 irc 頻道啊?
10/15 07:38, 4F

10/15 11:57, , 5F
#haskell.tw
10/15 11:57, 5F
文章代碼(AID): #1IJPjCfB (Programming)
文章代碼(AID): #1IJPjCfB (Programming)