热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

计算机程序的构造和解释——笔记(一)

相信很多人同我一样,看到这本书的名字,就觉得这本书霸气,是一本难得的好书。源于各种各样的原因,我接触这本书的时间很晚。不像国内有些学校那样,在大学上课的时候,就选用的这本书作为教材

相信很多人同我一样,看到这本书的名字,就觉得这本书霸气,是一本难得的好书。源于各种各样的原因,我接触这本书的时间很晚。不像国内有些学校那样,在大学上课的时候,就选用的这本书作为教材。想来,非常羡慕。感谢裘宗燕老师的翻译,让我更加深刻的认识到计算机程序是如何组织起来的。鉴于这本书的含金量,不敢怠慢,需好好的思考,并记录下来。

本书一开始用Lisp语言来做简要的说明,非常容易让大家明白,同时也羡慕上这么课的同学,能一开始就接触到Lisp。在看这本书之前,根据自己的理解,计算机语言最主要的就是要能起到表达的作用,但完全没有想得像本书阐述的那么深入,系统,全面。当看到作者指出强有力的语言都提供了三种机制:基本表达形式,组合的方法,抽象的方法。也相当明确的指出需要处理的两类要素:过程和数据。简单,直接,一下就击中我得要害。作者真是太给力了。

以此为入口进行阐述, 即可一气贯通,由简入难。从大家熟知的数学四则远算开始解释说明表达式,组合,最后过渡到抽象。由此可见作者功力深厚,更不容易的是还能如此简单地表述出来。正巧,这段时间培训的新人,基础比较薄弱,可以借用书中实例,简单易懂。影响比较深刻的提炼是“表达式都是由值组成的”:数的值就是他们所表示的数值;内部运算符的值就是能完成相应操作的机器指令序列;其他名字的值就是在环境中关联于这一名字的那个对象。从这个角度出发,可以得出:内部运算法符和自定义的过程可以抽象为同一事物,都是极其指令序列;同时过程和数据,都可以抽象到值这个层面上来。这样带来的好处就是可以更加灵活地构造程序。  

 

转载于:https://www.cnblogs.com/worgeling/archive/2013/03/13/2958313.html



推荐阅读
  • 本题探讨了在一个有向图中,如何根据特定规则将城市划分为若干个区域,使得每个区域内的城市之间能够相互到达,并且划分的区域数量最少。题目提供了时间限制和内存限制,要求在给定的城市和道路信息下,计算出最少需要划分的区域数量。 ... [详细]
  • 本文详细介绍了如何使用ActionScript 3.0 (AS3) 连接并操作MySQL数据库。通过具体的代码示例和步骤说明,帮助开发者理解并实现这一过程。 ... [详细]
  • 在即将迎来26岁生日之际,作者的人生陷入了低谷。经过近三年的硕士学习后,最终决定退学,并且面临没有工作经验的困境。尽管如此,作者依然坚定地选择为自己的人生负责。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 本文详细介绍了美国最具影响力的十大财团,包括洛克菲勒、摩根、花旗银行等。这些财团在历史发展过程中逐渐形成,并对美国的经济、政治和社会产生深远影响。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 在网页开发中,页面加载速度是一个关键的用户体验因素。为了提升加载效率,避免在PageLoad事件中进行大量数据绑定操作,可以采用异步加载和特定控件来优化页面加载过程。 ... [详细]
  • 本文介绍了一种根据用户选择动态切换屏幕界面的方法,通过定义不同的选择块(Selection Block),实现灵活的用户交互体验。 ... [详细]
  • 本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ... [详细]
  • 在现代Web应用中,当用户滚动到页面底部时,自动加载更多内容的功能变得越来越普遍。这种无刷新加载技术不仅提升了用户体验,还优化了页面性能。本文将探讨如何实现这一功能,并介绍一些实际应用案例。 ... [详细]
  • 本文详细介绍了如何使用Maven高效管理多模块项目,涵盖项目结构设计、依赖管理和构建优化等方面。通过具体的实例和配置说明,帮助开发者更好地理解和应用Maven在复杂项目中的优势。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
author-avatar
梅爱敏_629
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有