![]() |
1
76
你想在简洁和整洁之间寻找一个平衡点,吸引人的特性,以及一个平台,让你可以(为自己)编写有趣而有用的软件,同时也可以作为学习工具。(最后一个可以让你继续学习更长时间。)以下是一些可能性:
从我写这篇文章到现在已经将近十年了,Lisp语言家族现在似乎在普通程序员意识中获得了显著的吸引力。这其中大部分似乎与Clojure有关,Clojure不仅本身已经成为Lisp的一个单独的方言,引入了许多自己的好主意,而且现在已经有了一个几乎完全相同的JavaScript版本,并激发了许多其他针对其他平台的Lisp。例如, Hy 以CPython AST和字节码为目标,首先目标是实现与Python的互操作性,但在“有疑问时”使用Clojure思想(尽管从最新的提交中来看,后者可能会有一些变化) 这给你的决策过程带来的一个重大变化是,你还应该研究任何一种Lisp或类似Lisp的语言可以使用,并且可以与你已经使用的语言或平台进行互操作,是吗 Perl , Ruby , Erlang , Go 甚至是 C++ on microcontrollers . |
![]() |
2
22
我会说这个计划,完全是因为 Little Schemer |
![]() |
3
9
我可以推荐Common Lisp SBCL . 这种组合速度快、功能强大、成熟且有很好的文档记录。 |
![]() |
4
8
另外,Clojure最近也获得了很多的关注,这是有原因的。优秀的数据结构,非常好的并发支持(在这方面让Scheme和CL蒙羞),以及一个伟大的社区。它也相对简单,CL至少和C++一样复杂。
|
![]() |
5
5
我更喜欢CL,因为我喜欢面向对象编程,而CLOS是最好的对象系统。 |
![]() |
6
5
我学会了 Scheme Why MIT switched from Scheme to Python 在其编程入门课程中。 |
![]() |
7
3
例如Scheme有延续,学习Scheme中的延续是很好的,尽管它们可以在公共Lisp中实现。 学习词法和动态范围之间的区别是很重要的,如果你同时学习了通用的Lisp和elisp,你会发现两者的含义。 |
![]() |
8
0
LFE(Lisp风味的Erlang)会很好。您可以在erlangvm上使用lisp语法。 |
|
9
0
一开始是一个“加载”的问题,但OP可能不知道。一般来说,普通的和计划的李斯特就像个人电脑和苹果电脑的“人”,他们不会混为一谈。哪一个是最好的,可能并不像哪一个对你“有用”那么重要。真的,没有那么大的区别。很可能你对其中一个的偏好可能会受到你先学哪一个的影响。(对我来说,空列表应该是“无”,在CL中称为NIL,这使我成为一个普通的Lisper。)我喜欢使用EMACS将SBCL与Slime集成,但SBCL并不适合所有人。首先,SBCL非常严格。如果你只想“玩得开心”,gnuclisp很简单,几乎每个平台都可以使用。 |
![]() |
lightning_missile · 词法范围和共享对象 7 年前 |
![]() |
Alexandru Popa · SBCL中奇怪的宏扩展错误 7 年前 |
![]() |
Jacky · 编辑列表中的每个偶数索引元素 7 年前 |
![]() |
HappyFace · lisp典型缩进约定背后的规则是什么? 7 年前 |
![]() |
Jorge · 在公共Lisp中初始化计数器变量 7 年前 |
![]() |
Rorschach · cl循环破坏性修改cons单元 7 年前 |