我已经捕捉到了真正学习函数式编程的缺陷。因此,我的下一个自学项目是学习Structure and Interpretation of Computer Programs。不幸的是,我从来没有学过Lisp,因为我在大学里不是CS专业的。
虽然SICP没有强调编程工具,但做练习需要选择一种类似Lisp的语言来使用。似乎Scheme的一些实现将是阻力最小的路径。另一方面,我听说其他人也使用过Common Lisp和Clojure。在我看来,Common Lisp或Clojure更有可能用在产品代码中,因此对我的简历来说稍微好一点。顺便说一句,我完全明白,学习一门语言本身是值得的,但学习一门对我的简历有帮助的语言仍然是一种好处。我是一个资本家,也是一个关于我的学习的学者。
如果你必须自学SICP,你会选择哪门语言,为什么?理想情况下,我希望使用一种可以在JVM上运行的语言。我当然可以使用REPL与bash和emacs一起工作的语言。
补充:你们中有没有人尝试过不使用Scheme阅读SICP?如果是这样,你的经历是怎样的?
发布于 2008-10-27 03:53:41
使用方案。它是现存的最简单和最容易的语言之一,您只需花费很少的时间就可以学习足够多的SICP。一旦你理解了SICP,你就会明白这些概念是如何在任何语言中应用的。
发布于 2008-10-27 12:24:23
不是一个直接的答案,但我希望这些信息对任何通过SICP工作的人都有用。一定要看一下这里的视频:
http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/
每集20集,每集一小时。它们是由Abelson和Sussman在1986年为惠普员工提出的。我把它们放在我的iPod上,在通勤时看着它们。令人着迷。
此外,该书的全文可在http://mitpress.mit.edu/sicp/网站上在线查阅
发布于 2008-10-28 03:00:31
作为一个招聘人员,我要告诉你,简历上有Scheme是一件好事。你的简历上有Scheme、SML、Ocaml或Haskell,这表明你是一个非常全面的程序员,也是一个相当好的思想家。
也就是说,如果你正在尝试函数式编程,为什么不使用Haskell呢?方案是多范式的,它可以是面向对象的,功能的,基于流的,或者其他任何东西。这使得尝试新的编程风格和范例变得很棒,但如果您的目标是严格的函数式,这可能是一个问题。(您将最终编写非功能代码,并且无法实现它。)
https://stackoverflow.com/questions/239019
复制相似问题