unj*_*nj2 8 javascript lisp scheme programming-languages functional-programming
我一直想知道为什么道格拉斯·克罗克福德不断将JavaScript与Scheme进行比较.是JS的设计者打算成为Scheme; 但除了第一类函数支持和词法范围(破碎)之外,JS与Scheme有什么共同之处,使其成为"C's服装中的Lisp"?
我想到的另一件事是在整个语言和库中普遍使用单一的普遍存在的数据结构:在ECMAScript的情况下,在Scheme,地图(称为对象)的情况下使用cons列表.
然后不仅有ECMAScript具有一流程序的事实,而且这些程序是唯一的抽象机制.(或者更准确地说是封装机制.)
在这个列表中应该高的一件事是拥有一个REPL.看起来像技术性,特别是当这些repl通常隐藏在一些"开发工具"之后,但它对语言有很大影响.(例如,eval当有一个repl等时,它是很自然的.)它基本上把代码的动态评估具有一等状态,这对JS这样的东西非常有用,并且可能比它的成功贡献得更多.类功能(几年前才真正使用).
| 归档时间: |
|
| 查看次数: |
297 次 |
| 最近记录: |