“Lisp là một ngôn ngữ lập trình có thể lập trình được.”
- John Foderaro, CACM, tháng 9 năm 1991
Đây là quan điểm của tôi:
Nhìn bề ngoài, Lisp là một ngôn ngữ lập trình chức năng đơn giản, đẹp mắt. Hầu như không có cú pháp nào và tất cả các phần đều khớp với nhau theo những cách hợp lý.
Nếu bạn tìm hiểu sâu hơn một chút, đọc SICP và viết một bộ đánh giá siêu vòng, bạn sẽ phát hiện ra hai điều: Một, toàn bộ trình thông dịch (chỉ đưa ra một số nguyên thủy) chỉ là một trang mã và hai, mối quan hệ giữa mã và dữ liệu cho phép các kỹ thuật lập trình thanh lịch.
Khi bạn đã hoàn toàn tiếp thu điều này, có cảm giác như các ngôn ngữ khác đã được sắp đặt sẵn khi chúng chỉ cho phép bạn nói một vài điều. Lisp có thể xây dựng bất kỳ sự trừu tượng nào nếu bạn có thể xác định cú pháp và ngữ nghĩa cho nó.