作者reader (读者)
看板PLT
标题Re: [闲聊] 逻辑式语言与函数式语言
时间Mon Feb 26 04:56:18 2007
※ 引述《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
1F:推 godfat:卡位真是太可怕了 @@ 02/26 14:26