主题:计算机编程的经典SICP -- 南山东沟
另外,Lisp还是Emacs的脚本语言。Emacs的生父Richard Stallman在他的网站上是这样吹Lisp的:
The most powerful programming language is Lisp. If you don't know Lisp (or its variant, Scheme), you don't know what it means for a programming language to be powerful and elegant. Once you learn Lisp, you will see what is lacking in most other languages.
Unlike most languages today, which are focused on defining specialized data types, Lisp provides a few data types which are general. Instead of defining specific types, you build structures from these types. Thus, rather than offering a way to define a list-of-this type and a list-of-that type, Lisp has one type of lists which can hold any sort of data.
Where other languages allow you to define a function to search a list-of-this, and sometimes a way to define a generic list-search function that you can instantiate for list-of-this, Lisp makes it easy to write a function that will search any list — and provides a range of such functions.
In addition, functions and expressions in Lisp are represented as data in a way that makes it easy to operate on them.
When you start a Lisp system, it enters a read-eval-print loop. Most other languages have nothing comparable to `read', nothing comparable to `eval', and nothing comparable to `print'. What gaping deficiencies!
While I love the power of Lisp, I am not a devotee of functional programming. I see nothing bad about side effects and I do not make efforts to avoid them unless there is a practical reason. There is code that is natural to write in a functional way, and code that is more natural with side effects, and I do not campaign about the question. I limit my campaigning to issues of freedom and justice, such as to eliminate nonfree software from the world.
Lisp is no harder to understand than other languages. So if you have never learned to program, and you want to start, start with Lisp. If you learn to edit with Emacs, you can learn Lisp by writing editing commands for Emacs. You can use the Introduction to Programming in Emacs Lisp to learn with: it is free as in freedom, and you can order printed copies from the FSF.
You can learn Scheme (and a lot of deep ideas about programming) from Structure and Interpretation of Computer Programs by Abelson and Sussman. That book is now free/libre although the printed copies do not say so.
- 相关回复 上下关系7
压缩 2 层
🙂如果只是入门的话 唐家山 字65 2020-06-30 19:54:49
🙂大部分编程语言都是定义计算过程 8 南山东沟 字625 2020-06-30 14:45:15
🙂多谢介绍! 1 陈王奋起 字18 2020-06-30 16:41:18
🙂另外,Lisp还是Emacs的脚本语言
🙂在Lisp中,函数是一等公民 3 杨微粒 字1149 2020-06-30 12:52:59
🙂陈王兄好,我也是外行 3 杨微粒 字671 2020-06-30 12:45:30
🙂对计算机语言来说 3 沉宝 字81 2020-06-30 12:21:36