4 回答
已采纳
萧雁翎
TA贡献57条经验 获得超235个赞
Lisp的价值在于最容易贯彻"Code as Data"这个编程范式
如果你要解决的问题是常见的、无需动态元编程的“静态代码”就能解决的问题,Lisp其实发挥不了什么特殊作用。不如直接用那些“功能丰富又易上手”的常见语言(Python、Ruby、C++等)来做
但是如果你要解决的问题需要使用动态生成、转化的代码来解决,Lisp就是最好的工具之一
诚然,任何需要运行时改变、构造的代码都可以通过参数化、钩子化静态代码来代替,使之无须一个eval解释器也能达到目的,但是那样会极大地复杂化静态代码,所以复杂的情形下不如动态转化代码来的直观
举个例子:在常见的AOP场合(任何足够复杂的项目都需要某种程度的AOP),使用不含eval的语言都显得很累赘和蹩脚。要么需要工具来“后期编织”源代码、字节码、目标文件,要么需要instrument、extend、hack运行时。如果使用Lisp,只需要转化代码(因为Code is Data),或者实现一个第二层的eval就行了
Crafon
TA贡献63条经验 获得超30个赞
作为程序员应该了解。但是也没有吹得那么神乎其神。在lisp刚刚发明的1958年,它确实是独一无二的。但是很多现代语言学习了lisp的很多特性,而在其他一些方面反而是lisp赶不上的。有人说Lisp是有志于在研发方面追求极致的工程师的最后一跳。
不过如果你很有兴趣、有对C等语言厌倦,想了解一些Lisp写得软件和书籍还是值得学的。
所以说Lisp值不值得学还得看你对于自己的定位了。
望采纳~
- 4 回答
- 1 关注
- 2814 浏览
添加回答
举报
0/150
提交
取消