为什么lisp,或者说common lisp现在这么冷门呢?

Grammarly 竟然是用common lisp写的??震惊!!

发现几个有趣的 common lisp 的链接

Next browser – web browser in Common LISP

Numpy Clone in Common Lisp

2 个赞

太优秀。。。

这里有部分Common Lisp写的工业软件https://lisp-lang.org/success/。 可以很惊奇的发现美国雷神公司的导弹防御系统用的也是Common Lisp

这个主题色好漂亮,求名字,谢谢!!

city-lights :wink:

1 个赞

An operating system written in Common Lisp

Common Lisp is on fire

1 个赞

WOW!!! Awesome!! 大家有没有用这个系统? 是不是一般装在虚拟机里?(我只在以前用Windows时装过 Ubuntu,Mac没装过多系统啊~)

相对C/Java/Python 这些对初学者的要求较低的语言,Lisp 应该是比较难一些(能力也丰富得多!)
掌握使用了Lisp的coder,都是智商比较高的,也比较灵活的 (他们会针对自己把语言做一定的调整,这样可能不太适合介绍给别人 ?)

就好像在你们的地球里,房子用户量最大的是普通民房,而高质量的别墅相对来说是少之又少的!
对于算法比较复杂(高质量)的的“生命”来说,也只有你们地球一个才占有!
(这宇宙比地球还大的星球数量不会少于地球的人口数量吧?)

简而言之: 质变产生量变

不好意思,我先学的 Lisp,因为看不懂 Java 的书,就是 21 天从入门到女装的那本。

4 个赞

是的,如果你从小生活在一个讲英文的环境里,你肯定会觉得中文真的比数学还复杂啦~~

https://www.reddit.com/r/Common_Lisp/comments/an68t4/qvm_the_rigetti_highperformance_quantum_virtual/ 上发现了一个叫Quantum Virtual Machine http://docs.rigetti.com/en/stable/qvm.html 的东西,看起来是用了common lisp。

^这位看来不太懂C++。compile time linked-list的意思是说这是个类型列表 (type list)而不是运行期对象的列表。tuple编译后和struct的区别非常小,不信可以看看编译结果对比: Compiler Explorer

然而不管像不像 struct 都不能避免在有优化的情况下整个 tuple 的内容被至少复制一次。

而 CL 的 multiple value 在优化下只要 mov 用到的参数。

比如一个函数返回 {3, 4, 5},实际上只会用到前面两个结果,那么 C++ 即使用了 copy elision 优化,也会被动复制第三个结果,而 CL 只要根据 multiple value bind 主动复制前两个结果就可以了。如果默认只取一个,那和正常的获得返回结果甚至没有区别。

我觉得优化还是不要来比了,要说开优化的话,C++的函数就直接给优化没了:Compiler Explorer

我不反对Common Lisp很好玩,对需要高度动态性的场合可能也会有用,不过要说SBCL的性能能和C++排在一个集团,那除非是Java程序员写的C++。

我的CL水平比较差,个人经验是CL的性能想要接近专业C++程序员不过多考虑性能随手写出的代码的水平,需要非常仔细对待SBCL给出的所有性能警告,尽可能多的增加类型标注。但是如果C++程序员也花费同样的时间进行微优化的话,可以非常轻松的达到SBCL完全不可能企及的水平。

这个成绩其实已经很好了,因为其他大多数动态语言是比C++慢几十到几百倍的水平。我觉得能在C++的二分之一到三分之一的性能水平上提供优秀的动态特性,在很多场合是值得的。主要的缺点还是生态太差吧。

我沒想和 C++ 比,和 Python 比不行么。舉例 std::tuple 只是順帶而已。

1 个赞

以前我也是这样觉得,但近三五个月有新的感悟(做了一些很低级的时间测试)

V8 JS现在的运行速度是不是可以跟C 比一比了?

想多了,Rust的性能还没和C完全追平呢,原因大概是

  • rustc还很年轻,没gcc/clang这些老姜辣
  • 为了safe用到部分智能指针有runtime cost

V8可能比SBCL还略好,能保持在没有仔细优化的C/C++ 50%以内。但是精心优化过的C++代码是肯定比不了的(例如图像处理/视频编解码器的内循环,3D引擎的顶点处理管线,AI引擎的矩阵代码等等,这些东西基本上不会用别的语言写不是没有原因的)