Sid*_*Bob 5 lisp programming-languages autolisp
我想知道有谁可以解释autolisp/visual lisp的以下功能背后的设计理由?对我而言,他们似乎面对公认的软件实践......我错过了什么?
/在函数参数中放置)10表示x/y坐标,90表示坐标列表的长度,63表示颜色等.好的,您可以将它们存储在某些常量中,但这意味着更多的全局变量,文档鼓励您直接使用幻数.Lisp不是一种语言,它是一组有时令人惊讶的不同语言.Scheme和Clojure是该家族的功能成员.Common Lisp,以及像Elisp这样的更专业的品种并不是特别有用,并且本身并不鼓励功能编程或递归.CL实际上包括一个非常灵活的对象系统,一个非常灵活的迭代DSL,并不保证优化的尾调用(Scheme方言,但一般不是Lisps;这是将"Lisp"视为单一语言的陷阱).
现在我们已经解决了这个问题,AutoLisp是1986年基于XLISP早期版本(最早于1983年发布)的实现.
面对当前接受的编程实践,它可能会飞出的原因是它早于目前公认的编程实践.要记住的另一件事是,今天最便宜的上网本比程序员在80年代中期可以获得的功能强大几百倍.这意味着即使给定的特征被认为是优秀的,CPU或内存约束也可能阻止其以商业语言实现.
我从来没有专门用Autolisp/Visual Lisp进行编程,你引用的东西听起来很讨厌,但它可能有一些性能/内存优势,这在当时是合理的.