【问题标题】:Will reading the Little Lisper help me in learning clojure? [closed]阅读 Little Lisper 会帮助我学习 clojure 吗? [关闭]
【发布时间】:2010-10-27 06:05:16
【问题描述】:

我打算学习 clojure 语言。

我有一本旧书可供使用:

小嘴巴

我知道它有更新的版本(The Little Schemer),但我想知道它是否能帮助我更轻松地使用 Clojure。还是我应该寻找其他学习资源?

【问题讨论】:

  • 这不是要么 - 阅读 Little Lisper,因为它是一本很棒的书,然后从一些在线文档开始学习 Clojure。这本书很短,你很快就能看完。
  • 我差点发了一个类似的问题:我想知道学习 LISP 是否会帮助我学习 Clojure,因为我是函数式语言的新手,Clojure 引起了我的兴趣,但我越深入,越我发现人们指向 LISP。知道从哪里开始真是一个难题!
  • The Little Schemer 让我开始使用 lisps。 Clojure 与 (Common) Lisp 的距离比与 Scheme 的距离要远一些,所以你会忘记更多的东西。在 Lisp 或 Scheme 中,这本书是关于列表和递归基础知识的问答。对于 Clojure,我一无所知。阅读并传递下去。

标签: clojure lisp


【解决方案1】:

停止吃大餐的零食。它们是两餐之间的食物......:D

意思是,如果你想要clojure,那就去吧:

至于那本书,当你想更深入地了解函数式编程时,我认为这很值得深思

【讨论】:

  • 我同意。虽然我认为阅读“The Little Lisper”(已阅读“The Little Schemer”)有助于理解递归和基本的 LISP 概念,但当您想开始学习 Clojure 时,这绝对不是您要走的路。
  • 然而,这是学习递归的好方法。它真的用它锤你(以一种非常温和和有趣的方式)。
【解决方案2】:

最近读了《小谋士》,是的,我想你一定会从这本书中得到很多。它教给你的是在 Lisp 世界中非常流行的递归编程风格。列表的美妙之处在于它满足闭包属性(不是闭包,编程语言概念,而是数学中的闭包,对集合中的两个元素进行操作会产生同一集合的另一个唯一元素)。这本书教你所有这些高级概念,但没有命名它们等等(例如,第 9 章讨论了 Y Combinator,这是编程语言/逻辑理论中最漂亮的概念之一)。

我建议您通过各种方式阅读它,无论您学习的是 Scheme、Clojure 还是任何语言。

【讨论】:

    【解决方案3】:

    有更直接的方法可以让自己轻松融入 Clojure,而 Clojure 强调惰性序列而不是递归之类的东西。阅读小 lisper 时请注意,Clojure 没有尾递归并且并不真正需要它,因此书中的某些递归模式并不总是有效。

    从 clojure 开始,然后在奠定基础后使用 lisp 文献来扩展您的世界观可能会更有用。

    如果您想了解有关高级 lisp 编程的更多信息,我建议您使用 On Lisp by Paul Graham。这本书的标语是学习编写只能用 lisp 编写的那种程序。

    ps:它是免费的:)

    【讨论】:

      【解决方案4】:

      它会帮助你使用每一种语言,是的,当你拿起 Clojure 时,你会感觉到 lisp 女巫会帮助你。你可以做这些例子,然后尝试用 Clojure 重写它们。

      【讨论】:

      • +1 用于翻译示例 - 我喜欢这样,因为它是迫使您思考如何用目标语言实现目标的好方法!
      【解决方案5】:

      如果您对递归感到困惑,请阅读The Little Schemer,即The Little Lisper——其中之一。

      当我第一次学习 Lisp 时,我的教科书是关于递归的,我有点明白了,但没有深入了解。没有真正的理解。不过,自从我阅读 The Little Lisper 以来,递归一直是第二天性。这不是一本 Clojure 书,但它教授函数式编程的基本概念。您从 The Little Schemer 那里学到的一切都会很有用,或者至少很有趣。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-12
        • 2023-01-02
        • 2012-01-22
        • 2011-04-30
        • 1970-01-01
        • 2011-09-17
        • 2011-07-08
        • 1970-01-01
        相关资源
        最近更新 更多