我已经看到了许多针对新程序员的CS课程和学习建议,呼吁有抱负的程序员学习专门用Lisp编写的Lisp解释器。所有这些站点都表示类似以下内容:“具有智力上的启示”,“这是每个认真的程序员应有的启发经验”或“它向您展示了硬件/软件的关系”以及其他含糊的陈述,尤其是本文摘自这个著名的方法。
我的问题的普遍看法是,lisp如何实现上述目标,为什么选择lisp?为什么不使用其他语言?
我之所以这样问是因为我刚刚完成了使用scheme编写的方案解释器(摘自SICP http://mitpress.mit.edu/sicp/),现在我正在使用scheme编写python解释器,而我正努力地拥有这个传奇的顿悟那应该专门来自前者。我正在寻找两种语言之间的具体技术细节,我可以在他们的方案解释器中利用它们来了解程序的工作方式。
进一步来说:
为什么对以其所解释的语言编写的解释器进行研究如此强调-是将原始语言和所构建的语言保持直觉仅仅是一项伟大的心理锻炼,还是存在只能根据其本质找到解决方案的特定问题?原始语言?
Lisp口译员如何为未来的软件设计展示良好的体系结构概念?
如果我使用其他语言(如C ++或Java)进行此练习,会错过什么?
什么是最常用的,从这个练习外卖或“心理工具”?**
**我选择我做,因为我的答案已经注意到,我已经从这个练习更多的技巧获得了在我的脑海设计解析工具,比其他任何一个工具,我想找到解析,可能对计划更好的工作,不同的方法解释器比python解释器。