在通往启蒙的道路上:计划,常见的Lisp,Clojure?[关闭]


26

当我学习Lisp时,许多比我聪明的人会继续写书,因为您“了解它”,它使您成为更好的程序员。

也许我所听到的有关Lisp改变生活的所有信息只是对新手的一个恶作剧,但我认为了解更多关于世界的信息并没有什么害处,即使我发现我是在被sn口之类的东西之后被送去的。

我想遵循SICP或ANSI Common Lisp的规定,但同时要研究可以继续用于个人项目的方言和实现。

SICP专注于Scheme,因此这是一大票。保罗·格雷厄姆(Paul Graham)说,如果他要教新手,他会在Scheme中做,但是听起来Scheme仍然不及Common Lisp。但是接下来是Clojure了-有人告诉我Clojure在某些方面受到限制,但是在其他方面(JVM库)更实用。

听起来我可以更轻松地阅读Scheme的材料,或者从CL那里获得“真正的”启发,或者与Clojure足够接近,并且从长远来看可以做更多的事情。

所有这些中有多少是正确的?我什么时候应该停止思考要学习的内容而只是去学习呢?


4
+1,但要小心,它们在这里并不都很好,请查看发生了什么事情:programmers.stackexchange.com/users/39479
Cedric Martin


1
嗨,康拉德,“接下来我应该学什么语言?” 在这里不是主题。

@MarkTrapp,我很抱歉。我以为“哪种语言最适合[x]?”这个问题。之所以仍然是话题,是因为要为工作选择合适的工具。我认为有很多人想知道学习具有学术声誉的东西与可以使用已建立平台的类似工具的权衡。这仍然是关闭的理由吗?
Conrad.Dean 2011年

2
@MarkTrapp我碰巧认为这是一个好问题。一开始,轻浮的环境可能会令人迷惑,并且OP具有一些特定的标准来帮助人们判断正确的答案。我认为这个问题并不像“接下来我应该学习什么语言?”那样模糊。
benekastah 2011年

Answers:


19

也许我所听到的关于Lisp改变生活的所有信息只是对新手的一个大笑话

绝对不对,这不是在开玩笑。
使用Lisp,您将可以构建任何所需的东西,甚至是您自己的编程语言。

无论您选择CL,Scheme还是Clojure,您都将得到启发。
我个人建议您学习Clojure,因为它是活跃的Lisp,这是一种实用的方言,它以优雅的方式支持并发编程,并且可以在JVM(巨大的卖点)上运行。

ClojureScript将Lisp带到客户端编程,这确实是一件很酷的事情。

顺便说一下,SICP在Clojure中可用

欢迎登机:)


SICP的Clojure翻译对我来说真的很令人兴奋。上次我检查了它仍在进行中,但现在必须走得更远。任何人都可以评论这种翻译如何仍然保留您从阅读SICP中获得的必杀技吗?
Conrad.Dean 2011年

@ Conrad.Dean:嗯,它仍然有一个相当突出的警告:“您还不应该在这里。实际上,我们非常欢迎您环顾四周。我会避免张贴任何交通锥和停车标志的照片。 ,但该网站正在建设中,还远远没有达到可用的目的。”
杰里·科芬

3
自2009年以来,SICP翻译的关闭日期为DEAD,这很可悲,因为解决方案存在于clojure中……
AndreasScheinert 2012年

如果您真的想改变自己的生活,请按顺序学习,学习方案,序言和C。Python也值得一两嗅。然后,如果您的头脑还没有爆发,那就去设计自己的编程语言,或者帮助完善其他新语言。
山姆·沃特金斯

7

听起来我可以更轻松地阅读Scheme的材料,或者从CL那里获得“真正的”启发,或者与Clojure足够接近,并且从长远来看可以做更多的事情。

不要指望奇迹。使用Scheme之类的语言可以开阔您的视野,并且可能会教给您很多有关程序如何执行的知识,但这并不是无限意识领域的明证。

我什么时候应该停止思考要学习的内容而只是去学习呢?

阅读完此答案后大约7秒钟。


5

如果您想从SICP入手,那就是这本书所教的。从Scheme迁移到Clojure将非常容易。


您能否评论一下SICP的要点是否在Clojure项目的SICP中转换了,或者在Clojure计划之间丢失了什么?
Conrad.Dean 2011年

1
老实说,自从我去SICP并没有在Clojure花费很多时间以来,时间已经太久了。关于SICP的重要不是方案,而是了解他们正在工作的计算模型。
Zachary K
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.