共有回帖数 0 个
-
前言
Lisp 简介
Lisp 是一种基于λ演算的函数式编程语言,现代编程语言的一些特性,如尾递归、匿名函数、动态改变代码的功能等等,不少是受到了Lisp的启发。
Lisp 拥有理论上最高的运算能力,也许 John K. Foderaro 的比喻和总结最能说明 Lisp 的价值:Lisp好比变色龙,高度适应环境的改变,因为它是一门“可以编程的编程语言”,也就是说,我们不仅可以用 Lisp 编程,还可以对 Lisp 编程。
这种可扩展性也是 Lisp 经久不衰而且方言繁多的主要原因之一,语言的主要现代版本包括 Common Lisp 和 Scheme ,如果你使用的编辑器是 Emacs ,那你可能还接触过作为编辑器扩展语言的 Elisp 。
也许有人要问下面这些个问题: 为什么要学习 Lisp ?
这个问题我真的不想解释太多,Eric Raymond 说过这样一句话:“即使你很少用Lisp写程序,学习Lisp会是意义深远的一个经历,能让你下辈子都成为一个更好的工程师。”
至于程序设计语言的两个极点(顶点?),请诸君自行脑补。
为什么要在 C++ 吧发这个贴子?
因为哥在这儿是脸熟权限狗,而且哥觉得如果不脑补下 Lisp ,你压根无法明白 C++ 是一个多么渣的语言,是的,渣,没错。
Lisp 有那么多方言,该学哪一个?
Scheme is enough.
PS: 这篇教程就是为 Scheme 而写的,因为它最“纯粹 ”,它的标准只有不到50页纸,大道至简,不过如此。 如果你要使用 Emacs Lisp 或者 Common Lisp ,本教程也有一定的参考意义。(毕竟以咱的水平只打算科普 IDE 安装,写个 Hello world 神马的。)
更多内容请参考 http://lisp.org.cn/
Lisp 有众多解释器可供使用(注意,解释器和编译器的区别),而 Scheme 作为最简洁的 Lisp 方言,诸君若稍有水平,自己写个解释器也不是什么难事。
作为入门教程,推荐DrRacket这款IDE,Racket源自著名的专家型语言PLT Scheme,同时又是Lisp语言的一个分支。它适用于从脚本Script到应用程序开发的任务执行工具,包括图形用户界面,Web服务器等。支持编译器的虚拟机,创建独立的可执行程序的工具,Racket Web服务器,具有丰富而全面的功能库,适用于初学者和专家编程。
下载地址:http://racket-lang.org/download/
楼主 2016-06-23 12:14 回复
Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
意见反馈 |
关于直线 |
版权声明 |
会员须知