我一直在和博士一起工作。球拍(刚刚开始)通过华盛顿大学的课程“编程语言”MOOC。所以我刚刚开始学习球拍语言。与此同时,我想开始阅读 SICP 并观看1986年MIT OCW的讲座视频。我想知道我应该使用什么样的Lisp方言所以我将能够从MIT OCW的视频讲座到 Emacs 或博士。球拍即可。 [这基本上是我的问题]。人们会推荐什么?特别是那些观看了1986年讲座的人,已经阅读了SICP的封面,至少有一些练习,并且理想情况下也熟悉Dr. Racket,Racket以及Lisp和Scheme的多种方言,但我对所有观点持开放态度。
答案 0 :(得分:4)
我通过SICP阅读并使用PLT计划进行了所有练习,尽管当时它被称为Dr. Dr而不是Dr。Racket。我全心全意地推荐它。 EMACS很棒(我的主编),但学习它比学习计划更难。只有一个问题需要解决,这是最好的。
我使用的R4RS方案最接近SICP中的版本。
如果仍然是最新版本,那么你应该没问题。如果没有那么几乎任何调用自己的方案都可以。
我认为你在第3章开始使用Racket本身时就不会遇到很多问题,因为他们开始使用set-car!这样的东西,但是如果你走得那么远,你可能会解决这个问题。那时候你会发生什么事。
编辑:
只是为了检查一下,我刚刚在我的Debian盒子上试过它: 缺少R4RS,但R5RS应该没问题。
$ sudo apt-get install plt-scheme
Windows安装应该更容易,因为易用性是Windows'卖点......
运行Dr Racket
$ drracket
DrRacket版本5.3.6 说'没有选择语言' 导航至:
Language/Choose Language/Other Languages/Legacy Languages/R5RS
型:
(define (factorial n)
(if (< n 2) 1
(* n (factorial (- n 1)))))
进入顶部窗口
按“运行”
输入:
(factorial 10)
进入底部窗口并按回车键,它应该给你
3628800
这是Scheme的hello世界,如果你能做到这一点,那么你应该对本书的前几章感到满意。
我记得在某处有一个递归的图形练习,这有点像工作,但它可以做到。跳过它吧。其他一切都应该没问题。
如果您遇到任何麻烦,请与我联系,我将告诉您如何通过它。
祝你好运!