雷蒙德(译者注: 论文<<大教堂和市
集>>的作者, 著名的黑客社区理论家)的话: "Lisp语言值得学习。当你学会Lisp之后, 你
会拥有深刻的体验。就算你平常并不用Lisp编程, 它也会使你成为更加优秀的程序员"
作为一名 Java™ 程序员,如果您花一点时间研究 Lisp 这座被人遗忘的黄金之城,就会发现许多能够改进编码方式的技术。
基本上,Lisp 是一门关于列表的语言。Lisp 中的一切内容(从数据到组成应用程序的代码)都是列表。每个列表都由一些原子 和列表组成。数字就是原子。
Lisp 提供用于迭代的编码结构,但递归是更受欢迎的列表遍历方式。使用 first 和 rest 组合实现递归效果很好。
高阶函数提供比面向对象概念更高层次的抽象。可以用它们来更简洁清晰地表达想法。编程的至高境界就是在不牺牲可读性或性能的前提下,用更少的代码提供更强大更灵活的功能。高阶函数能实现所有这些要求。
Lisp 语言本身的许多功能都是基于宏的。
*前缀式概念(prefix notion)的表达式有什么好处:
1. 操作数的个数可以任意多个(+ 1 2 3 31)
2. 可以更为直接的组合,嵌套。(+ 1 (- 3 31))
这种表达方式有点类似树,结果值(evaluation)是树根,操作符是最左边的子节点,其他子节点是操作数。树根只有一个,子节点可以任意多。树和树很容易构造成更大的树。树本身是递归结构,对递归算法有很好的支持。
To become experts, we must learn to visualize the processes generated by various types of procedures. Only after we have developed such a skill can we learn to reliably construct programs that exhibit the desired behavior.
http://www.ibm.com/developerworks/cn/java/j-cb02067.html
分享到:
相关推荐
计算机编程原理是软件开发的基础,它涵盖了编程语言的语法、数据结构、算法、设计模式以及软件工程的原则。在这个“计算机编程原理讲义”中,我们将会深入探讨几个关键概念,首先是工厂模式,然后是迪米特法则。 **...
【计算机编程原理及软件工程】 计算机编程原理是理解软件开发的基础,它涵盖了计算机科学的核心概念,包括数据结构、算法分析、编程语言语法和语义、编译器原理、操作系统概念等。这些知识点对于任何程序员来说都是...
这个压缩包包含了四门核心的专业课讲义,它们分别是C语言、计算机网络、数据结构以及组成原理。这些课程涵盖了计算机科学的基础知识,对于理解和掌握计算机系统的运作至关重要。 首先,C语言作为编程语言的基础,是...
在准备考研的过程中,数据结构、操作系统、计算机网络和计算机组成原理是计算机科学与技术专业学生必须掌握的核心课程,这些知识点不仅是考试的重点,也是理解和解决实际问题的基础。以下将对这四门课程的主要内容...
计算机原理与体系结构是计算机科学中的基础内容,涵盖了计算机硬件和软件的组成以及它们如何协同工作来执行程序和处理数据。对于初学者而言,了解这些基础概念至关重要,因为它们构成了整个信息技术领域的基石。...
《计算机组成原理与系统结构》是一门至关重要的计算机科学基础课程,它涵盖了计算机硬件的基本构造、数据处理方式以及系统设计的原理。这份资料是全面且经典的,旨在帮助学习者深入理解计算机内部的工作机制,从而更...
### 可编程控制器原理及应用 #### 一、可编程控制器概述 可编程控制器(Programmable Logic Controller,简称PLC)是一种专为工业环境设计的计算机控制系统,它结合了传统继电器控制系统的可靠性和计算机系统的灵活...
微机原理还涵盖指令集体系结构、总线系统、中断处理等概念,这对于深入理解计算机的工作方式和进行嵌入式系统开发非常有帮助。 网络原理关注的是计算机网络的构建和运行机制。这包括OSI七层模型或TCP/IP四层模型、...
《计算机编程艺术卷4》是计算机科学领域内的一部经典之作,由Donald E. Knuth撰写,本书深入探讨了计算机程序设计的多个方面,涵盖了算法、数据结构、编译技术、操作系统原理等核心主题,是程序员和技术人员不可或缺...
计算机系统结构和计算机组成原理是计算机科学与技术领域中的核心课程,主要研究计算机硬件系统的基本构成和工作原理。西安电子科技大学081201的讲义深入浅出地介绍了这些概念,为学生提供了全面而深入的学习材料。...
计算机组成原理与系统结构是计算机科学中的基石课程,它涵盖了计算机硬件的基本构成、工作原理以及软硬件之间的交互机制。这门课程由胡越明老师主讲,深入浅出地讲解了计算机硬件设计的基础知识和软硬件接口的重要...
微型计算机原理及应用是计算机科学的一门重要课程,本课程涵盖了微型计算机的基本原理、结构、应用及发展趋势。本资源摘要信息将对微型计算机原理及应用进行详细的知识点总结。 一、微型计算机的定义和分类 微型...
《计算机组成及原理相关书籍(2)》这个压缩包包含了三本关于计算机组成与原理的重量级读物,分别是《计算机程序的构造和解释》(中文版)清晰版、《深入理解计算机系统》原书第三版以及《计算机程序的构造和解释》...
计算机组成原理是计算机科学的基础之一,它是研究计算机硬件的组成、结构、工作原理和编程的学科。以下是计算机组成原理的知识点总结: 1. 计算机基础概要:计算机是指能够自动执行程序的电子设备,包括硬件和软件...
根据提供的标题“编程语言原理(第10版)”及描述“编程语言原理(第10版 编程语言原理)”,我们可以推断出这本书主要讲述了编程语言的基础理论与实践应用,是学习和理解编程语言设计与实现的重要参考资料。...
通过学习《计算机组成原理与系统结构》,读者可以掌握计算机硬件基础,理解软件与硬件之间的关系,为后续的系统编程、硬件设计和性能优化打下坚实基础。同时,对计算机系统有深入理解的程序员能够更好地调试代码,...
这个程序虽然非常简单,但它展示了计算机编程的基本原理。它使用print语句输出文本到屏幕上。这个例子表明,编写计算机程序本质上是告诉计算机如何通过一系列指令来完成一个任务。 计算机编程快速入门教材特别适合...
《C++数据结构原理与经典问题求解》是一本深入探讨C++编程语言在数据结构领域的应用和问题解决的书籍。源代码的提供为读者提供了实际动手操作的机会,加深理解并提升技能。以下是对该主题的详细阐述: 一、C++语言...
计算机组成原理之计算机系统层次结构 计算机组成原理是计算机科学中的一门重要课程,它研究计算机系统的基本结构、组成部分和工作原理。计算机系统层次结构是计算机组成原理中的一個重要概念,它描述了计算机系统的...