如果,章杉是说如果,在阅读前两章时较为困难,也不妨先看一下《SimplyScheme:IntroducingComputerScience》,可以把它看作是SICP的基础。
值得一提的是,SICP和SSICS都在互联网上公开——不得不敬佩他们对学术推广的态度。
在学习SICP这本书时,也可以选择配合相关的公开视频。
有两个选择,一是Berkeley的上课视频,二是MIT的公开课件。
前者的讲述较为轻松有趣,相对容易理解一些,章杉看了大半;而后者为SICP原书作者HalAbelson和GeraldJaySussman为Hewlett-Packard公司员工培训时的录像,章杉感觉更为体系、理论、也相对较为难懂——当然,这只是章杉看了Lecture1的两段录像后的感觉。此外,北大也开设了《程序设计技术和方法》课程,使用SICP作为教材,相信也是不错的参考。
最后便是开发环境了。SICP使用Lisp语言,而在实验时,不妨使用Scheme,它是Lisp语言的两种常见方言之一(还有一种是CommonLisp)。可以使用GNUMITScheme作为编译解释器,不过章杉使用的是IronScheme,它基于DLR,也是.NET平台下的另一个编程语言实现。
不过话说回来,其实章杉在做SICP的习题时使用最多的还是F#,它是由微软研究院发明的又一种.NET语言,同时拥有强大的函数式编程和面向对象能力。此外,章杉现在对于Haskell也有相当兴趣,这个老牌的纯函数式编程语言也慢慢地回到人们视线中来。章杉使用的参考书是《RealWorldHaskell》,它获得了Jolt大奖最佳技术书籍,希望能从中获取更多灵感。
喜欢读书成神豪请大家收藏:(m.2yq.org)读书成神豪爱言情更新速度全网最快。