Gre*_*ind 69 lisp scheme clojure
CL和Scheme之间的碎片减缓了吸收(至少对我而言!).
所以,请给我"真实答案"!
我试图阅读特征比较,他们似乎陷入了esoterica(我不完全理解),比如方言是否完全是尾递归等等.我希望你们(共同)能够明确区分不透明的差异.
良好的库支持,良好的环境和Unicode支持.
论战.功能在开始时很有用,但会干扰长期学习.
我一直在使用MzScheme,一旦得到readline支持,我就会很享受.我没有在Unix上运行GUI,所以它对我来说似乎是一个很好的环境选择.
我也很高兴Clojure在debian上有一个易于安装的.deb软件包,所以它更容易玩.这是一个很大的胜利.尽管下面的一些相当容易激怒的敌意,低进入门槛是一个胜利.我喜欢被舀勺.
在阅读了更多SICP之后,我确实更了解尾递归的问题.
Gre*_*ill 62
Clojure是一种积极发展的现代Lisp方言.它基于JVM,因此所有Java库都可立即使用,因此也支持Unicode.
这是一种替代方案,而不是One True Answer.
dno*_*len 31
如果你想避免火焰战争,你喜欢图书馆与Clojure.它很小,很快,社区很有帮助,也没有教条.这是Lisp减去20世纪80年代荒谬的事情.它有一个BDFL,如果你有一个好主意,它很有可能会被实现到语言中.
我玩弄了Common Lisp,这是一件很美好的事情.我在DrScheme完成了SICP的前三章和Metacircular Evaluator,这也很美妙.当然,通过学习这些,你将从中受益匪浅.
但是,随着时间的推移,我已经开始认真地掌握小语言了.我不会撒谎,我喜欢Javascript而且我喜欢C(并且如果每种语言都没有C核心那就是该死的),因为它们很小.
Clojure很小.很优雅.它是我们这个时代的语言.
ayr*_*ieu 18
Contra Chuck,Common Lisp的一个优点是它有一个标准,实现坚持并努力,这样你就可以在很大程度上利用SBCL(具有出色的类型检查和推理)进行开发,然后说,部署为可执行链接的可执行文件C库(使用ECL或其他)或作为.jar使用Java库(使用ABCL),或使用Mac或Windows本机GUI(Clozure,两者).Common Lisp在架构和实现之间以及随着时间的推移具有惊人的可移植性,并且Common Lispers在语言的支持下努力保持这种方式.举例说明,非标准化行为的一个愚蠢背离是"这是一个特殊变量吗?"的问题.所以我在我使用的实现中回答了它:
#-abcl
(defun special-variable-p (symbol)
#+ecl(si:specialp symbol)
#+ccl(proclaimed-special-p symbol)
#+sbcl(equal '(:special t)
(multiple-value-list-int:info :variable :kind symbol)))
Run Code Online (Sandbox Code Playgroud)
在读取时,ABCL(它已经有了),(defun special-variable-p (symbol) (si:specialp symbol))ECL等等都没有减少.所以我可以将它放在我的.rc文件中并使用REPL中的common函数.但这不是很重要:这不是线程或各种支持的网络或通信顺序进程库.最后一个例子只有一个#+sbcl/#-sbcl,因为它运行在五个实现上.因为它依赖于经过精心移植的代码.
但是允许这种(和其他)优势的东西也给学习者带来了挑战:Common Lisp是一种非常大的语言.这不是你可以在一两个星期内啜饮的东西,就像我做过Clojure一样(但是我的Clojure已经随着突破性的变化而衰退了 - 这种语言尽管很重,但它有自己的优点,提醒我的对比是我喜欢Common Lisp的很多东西.)所以你应该阅读很多这个页面,并且让HyperSpec成为一个按键(对我来说,M-x hyperspec RET do-symbols RET已经足够接近圣经了.),并考虑购买几本书.我有Practical Common Lisp,刚刚获得Let Over Lambda,现在很快就会买到PAIP.
但是,即使Common Lisp是真正的答案,你也不会完全浪费你的时间来"挑选"一些看似浮华的替代方案( - '欺骗',因为普通的CL并没有向你展示它的宏可以做的所有事情,而且它比任何人都有更多种类的宏.通常的比较是在坏的CL和语法优化的替代X之间.你仍然可以学习基础知识,你仍然可以使用SICP,On Lisp,The Little Schemer等中的大部分内容.一个lisp,即使是错误的lisp,仍然比非lisp更好.(但是你会花一些时间来实现正确的口齿不清的部分,糟糕的是,在错误的口齿不清的情况下.Meta-Greenspun.)
和Clojure一起去吧.它是一种令人惊叹的语言,可以完全访问任何Java库.它已经开发了超过2年,已经有3个IDE插件正在开发中,并且在4月份出版了一本关于它的书.它非常快,非常优雅和美丽.你不能错过Clojure.
对我来说,Scheme的基础理论更有说服力.到目前为止,PLTScheme是我发现的最活跃的LISP.不幸的是,它的打字数量激增,掩盖了Lisp的美丽.
我很想看到像arc这样的东西成功,但似乎不太可能.
| 归档时间: |
|
| 查看次数: |
16859 次 |
| 最近记录: |