ben*_*dbc 9 lisp language-features
我已经读过大多数语言变得越来越像lisp,采用了lisp已经存在很长时间的功能.我想知道,lisp没有什么功能,无论是旧功能还是新功能?通过lisp我的意思是最常见的方言,如Common Lisp和Scheme.
jro*_*way 10
这个问题已被问过一百万次了,但是这里有.Common Lisp是在人们被认为是廉价的时候创建的,并且机器被认为是昂贵的.Common Lisp使人们更容易,而不是让计算机变得更难.Lisp机器价格昂贵; 有DOS的电脑很便宜.这对它的受欢迎程度不利; 与购买更好的计算机相比,用更少表达的语言让更多人犯错误更好.
快进30年,事实证明这不是真的.人类非常非常昂贵(并且供应非常短缺;尝试雇用程序员),而且计算机非常便宜.甚至比污垢便宜.今天的世界需要正是Common Lisp所提供的; 如果现在发明了Lisp,它会变得非常受欢迎.然而,由于它已经有30年历史了(加上!)技术,没有人想过要看它,而是用类似的概念创建自己的语言.那些是你今天使用的那些.(Java +垃圾收集是一项重大创新.多年来,GC一直被人们视为"太慢",但当然,一点点研究,现在它比管理自己的记忆更快.对人类来说也更容易时代如何变化......)
(请添加到此列表中,我已将其标记为社区维基.)
这只是指Common Lisp和Scheme标准,因为特定的实现已经独立地添加了许多这些功能.事实上,这个问题有点误.向Lisp添加功能非常容易,因为拥有一个没有很多功能的核心语言会更好.这样,人们可以自定义他们的语言,以完全满足他们的需求.
当然,有些实现将核心Lisp与一堆这些特性打包为库.至少对于Scheme,PLT Scheme提供了所有上述功能*,主要是作为库.我不知道Common Lisp的等价物,但可能有一个.
*也许不是中缀语法?我不确定,我从来没有找过它.