LISP - 主页
Lisp 现代编程入门
Section titled “Lisp 现代编程入门”欢迎来到 Lisp 的世界!尽管它是第二古老的高级编程语言(仅次于 Fortran),Lisp 却远非过时之物。它的核心原则——代码即数据(同像性)、交互式开发和强大的宏系统——深刻影响了 Python、Ruby 和 JavaScript 等现代语言,并至今仍具有高度相关性。
本教程专注于 Common Lisp,这种标准化、工业级的方言以其稳定性、高性能和广泛的功能集而闻名。你不仅将学习其语法,还将掌握解决问题的‘Lisp 思维’,它强调快速原型开发和构建可扩展系统。
本教程适合谁?
Section titled “本教程适合谁?”本指南适用于任何对 Lisp 感兴趣的人,从具备基本编程知识的初学者到希望扩展其工具箱的经验丰富的开发者。如果你知道什么是变量、函数和循环,那么你就可以开始了。
先决条件:搭建现代 Lisp 环境
Section titled “先决条件:搭建现代 Lisp 环境”要学习本教程,你需要一个 Common Lisp 实现和一个良好的开发环境。Lisp 体验在交互式开发时最为出色。
- Lisp 实现:我们推荐 SBCL (Steel Bank Common Lisp)。它是一个高性能、开源且广泛使用的实现。可从 sbcl.org 下载。
- Quicklisp:这是 Common Lisp 事实上的包管理器。它允许你通过一个命令安装数百个库。安装说明可在 quicklisp.beta.quicklisp.org 找到。
- 开发环境:REPL (Read-Eval-Print Loop,读取-求值-打印循环) 是 Lisp 的核心。为获得最佳体验,我们推荐:
- Emacs + SLIME 或 Sly:经典、功能最强大的 Lisp 交互式开发环境。
- VS Code + Alive:一个现代且日益流行的替代方案,为熟悉的编辑器带来了扎实的交互体验。
- Portacle:一个便携式、预配置的 Lisp 环境,包含 SBCL、Emacs、SLIME 和 Git。
搭建你的开发环境是至关重要的第一步。你在此投入的时间将在生产力和乐趣方面带来巨大的回报。
Lisp 哲学
Section titled “Lisp 哲学”在学习本教程的过程中,请牢记这些核心思想:
- 交互性:不要仅仅编写和运行脚本。连接到正在运行的 Lisp 镜像,逐段求值代码,即时重新定义函数,并在不重启的情况下检查程序状态。你的编辑器就是你的指挥中心。
- 可扩展性:Lisp 的宏系统允许你扩展语言本身。当语言缺少你所需的功能时,你可以添加它。这使得 Lisp 在构建领域特定语言(DSL)方面表现出色。
- 实用性:Common Lisp 不仅仅是一门学术语言。它是一个实用的工具,具备现代软件开发所需的一切:面向对象编程 (CLOS)、健壮的条件处理、原生代码编译,以及通过 Quicklisp 获得的庞大库生态系统。