记事:LISP方言Scheme
从看了黑客与画家、王垠的博客(www.yinwang.org)、Mort君的翻译(www.soimort.org)以及著名的SICP前几章之后,对于LISP的方言Scheme有个初步的了解。使用Racket写代码的感觉挺好。个人浅见,lambda是强约束的图灵机的表示。在一个月之前,我也表达了为什么Scheme语言严谨且强大但市场反映如此冷淡的疑问。至少我超级喜欢'S表达式'和Lisp的表达能力。看了Mort君的翻译,虽然有些认同,但是另一个疑问让我非常困惑:老美在各个方面都喜欢标准化,当然也不排斥差异。为什么在Scheme或者LISP方面没有形成类似JCP的组织?或者有这样的组织,为啥这个组织没有起到类似C/C++或者Java的标准化的作用?
抛开以上的疑问,我自己认为有一个原因,使LISP未成为受欢迎的通用语言的原因:软件=数据+算法。对于更关注数据的系统来说,选择LISP是不明智的,而会更倾向于选择目前市面上的通用语言;对于更关注算法的系统来说,更容易采用函数式的语言。显然,我们所遇到的大部分企业应用系统,仍以数据为主导。
所以,我决定暂时停止使用Sheme作为主开发工具的想法。我相信任何通用语言在偏向算法时,不可避免的向LISP靠拢。