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

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

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

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

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

 

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100840.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • modelsim-win64-10.4-se 破解攻略

    modelsim-win64-10.4-se 破解攻略在实验室换了新的win10系统,原来的quartus9.0在win10上安装不成功,没办法只能换成13.1版本,已经安装可用,下面是与其配合的modelsim-win64-10.4-se的破解攻略,安装教程可以去看正点原子的FPGA开发手册,写的很详细,但是没有讲破解方法,下面是可用的破解方法:软件安装好了却不能用,想必大家都有过这样的痛苦和无奈。这款软件的破解花了我整整一个下午的时间…

  • java图片加密[通俗易懂]

    java图片加密[通俗易懂]刚接触java只是看一点写一点,也不知道对错,等将来学深入发现错了再改吧packagecom.demo.test;importjava.io.*;publicclassTest{/***@paramargs*@throwsIOException */publicstaticvoidmain(String[]args)throwsIO

  • 电脑cmd命令大全_cmd代码大全

    电脑cmd命令大全_cmd代码大全记事本格式:https://download.csdn.net/download/weixin_42859280/10942914前言:CMD是什么?在windows环境下,命令行程序为cmd.exe。是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序。类似于微软的DOS操作系统。输入一些命令,cmd.exe可以执行。比如输入shutdown…

  • c语言字符串匹配实现_c比较字符串

    c语言字符串匹配实现_c比较字符串字符串匹配原理及实现(C++版)1.字符串匹配概念2.BF3.KMP4.BM5.性能总结1.字符串匹配概念2.BF3.KMP4.BM5.性能总结

  • volatile禁止指令重排序_volatile int

    volatile禁止指令重排序_volatile intvolatile禁止指令重排JMM要求有序性计算机在执行程序时,为了提高性能,编译器和处理器常常会做指令重排,一把分为以下3种单线程环境里面确保程序最终执行结果和代码顺序执行的结果一致.(单线程不用关心指令重排)处理器在进行重新排序是必须要考虑指令之间的数据依赖性多线程环境中线程交替执行,由于编译器优化重排的存在,两个线程使用的变量能否保持一致性是无法确定的,结果无法预测源码写的顺序不见得和编译的指令顺序一样例子1比如源码如下publicvoidmySort(){intx

    2022年10月18日
  • vue 表单验证内容隐藏_vue中input获取焦点

    vue 表单验证内容隐藏_vue中input获取焦点如果你用vue或者element的ui去验证发现很麻烦。如果你只想简单验证:其实html自带了验证:这里required就是必填,pattern就是正则规作者:古红平链接:https://www.zhihu.com/question/37099220/answer/81969475来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。去搜索一下属性就知道了。https://www.w3schools.com/…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号