Lisp的生产性

(首先声明,我仅仅折腾 Emacs 比较多,下面这两个语言也没完整学过,就是很感兴趣)

Common Lisp 给我一种很强大、很适合工业开发的感觉,而 Scheme 感觉很小巧、适合教学。

但是 Chez Scheme 之前是闭源的,很多公司也会花钱买来用,为什么会这样呢,有人能够指点一下吗?

(当然我的这种感觉可能来源于这篇古早文章:https://www.yinwang.org/blog-cn/2013/03/28/chez-scheme

我记得 Nokia 很久以前研究过 Scheme 开发。

另外 Chez Scheme 到现在也是非常快的,想想那些慢的语言(Python, Ruby)都有人用,有公司会买也不稀奇了(比如用来写胶水代码)

用来做 EDA 软件的脚本语言,Chez 是 Cadence Research Center 赞助开发的,后来 Cadence 被 CISCO 买断之后才把 Chez 作为相对不太重要的部分开源(真就成冲话费送的了),而 Cadence 就是行业内最出名的 EDA 软件之一,而且授权费也很高,我记得现在全套打折下来要八万美元一年,放在以前 Chez 的代码和使用授权就在 Cadence 的全套授权里(应该也有另外购买授权做二次开发的,不过这些都不会有公开报价的)。芯片设计要试很多不同参数来,所以有一个跑的快还支持元编程的脚本语言还是很重要的(不是设计 CPU 这种主要只涉及到逻辑电路级别的,一般是设计基带这种以模拟电路为主的)。

另外 Tcl 最初也是作为 EDA 的脚本语言设计的,现在也还用在 Synopsys 的产品里。

5 个赞

有道理,并且我似乎还听说 Chez 有一个闭源版本,比开源版本还快,开源版本是“负优化”过的 :rofl:

哇!很受用的背景知识,感谢提供!

不过我很难想象,做模拟电路的模拟还用到这个小众的语言,一直以为那都是专注有限元、时域有限差分等工业仿真软件干的事情 :rofl:,当然,有可能他们底层的物理层面的模拟是另一套机制,外面套上 Scheme(有点像人工智能是底层 C 套上外层 Python)

SQLite 最初也是为了给 Tcl 开发一个数据库开发的,这些 Tcl 大神太离谱了 :rofl:

我对lisp编写语法树的功能特别感兴趣。我认为用lisp的语法来写其他语言会是一个绝妙的设计。

1 个赞

可以体验以下 JetBrain MPS(代码的结构化编辑,不过他默认是 Java)还有 TeXmacs(科技论文和文档的结构化编辑)。我一直希望有朝一日能做出来一个合并 JetBrain MPS 和 TeXmacs 的真正的 live coding 系统

一直没搞懂 MPS 的付费政策,它算免费的么,还是说付费但是有全家桶授权也能用?

MPS 我前几天用了,慢得要死,而且好像没怎么好好维护过,样版项目都过时了

1 个赞

MPS 是 Apache 2.0 开源的 MPS - License Agreement

3 个赞