看板 PLT 關於我們 聯絡資訊
※ 引述《godfat (godfat 真常)》之銘言: : 我有個疑問,purely functional 在處理很多事情上會顯得很麻煩, : 例如 I/O, 或其他本身就具有各種 state 的問題…。如此一來, : purely functional 是否變得有些過分執著…? 不能這樣講,學術就是這麼一回事。 經由這些年來的研究發展,現在它的實用性顯然比過去強得太多,許多觀念和 技術也影響到其他程式語言的設計。 而且我們可以考慮一種狀況:將系統拆解為許多的一次性輸入輸出,例如 web 系統就是這樣的設計,網頁的生成就很適合純函數式語言來做,現在只是沒有 相對完善的系統建構方法論,並不是它不可行。 我自己也有設計程式語言,就發現到,多重典範的整合,未必就要採用同一套 語法應用在所有範圍上,若將適合不同典範的地方各自實作再做整合,可能是 更有效益的做法。 像 C++ 就主要是由 template, class 和 C 三個成份組合的,其中 template 部分就很有 functional 的味道,其實也可以改成 pure functional 的前置 處理系統,形成 functional, object-oriented, imperative 各自在不同的 範圍內運作的形態,有可能會比現在的 C++ 更為強大。 : Alice 在 Standard ML 上加了 lazy evaluation, : 用起來是否會比 Haskell 要來得方便許多…? : 不過他的實作有點讓我乍摸之下搞不太清楚要怎麼用, : 不知道有沒有實用的可能。 : http://en.wikipedia.org/wiki/Alice_%28programming_language%29 以實用而言,多數程式語言都可以用來做一點什麼事情。 但若是指流行的話,除了要有好的語言特性及語法做為基礎,相關的軟體開發 工具的好壞、價格、易取得性、效能、支援、宣傳... 等等因素,才是主要的 關鍵,所以是很難講的。 若純以程式語言的設計而論,要真正進入軟體產業當中,我還是要再重申那個 很現實的條件:與主流程式語言 (特別是 C) 的語法相近。 只有這個條件能帶來很大的好處,其餘差異都不大了。 整個軟體產業,以程式語言而論,只剩下三種語法系統仍然保有生命力: C, Pascal, BASIC. 其中 C 的語法系統佔據絕對優勢,無論是 C, C++, C#, PHP, Java, JavaScript, Perl... 哪一個不是出現沒多久就大受歡迎,相比其他的 程式語言往往耗上十年仍沒沒無聞,只有少數死忠使用者,何止天差地遠。 語法愈怪就愈沒有機會,而 ML 系統的語法,只是能保證不會被學術界忽視, 離產業界還是很遠的。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.222.173.26
godfat:卡位真是太可怕了 @@ 02/26 14:26