计算机程序的构造和解释 - 个人笔记(一)(上)

简介: 计算机程序的构造和解释 - 个人笔记(一)(上)

前言



为什么要学计算机程序的构造与解释


blog.zhaojie.me/2009/07/rec…  很老的一个帖子上的推荐

  • 了解任何东西,思想最重要
  • 抽象的思维,如何从简单到复杂
  • 用不同的角度去考虑用咒语来实现功能
  • 学习任何语言思想最重要的是思想本身,而scheme由于语言天生的自由性,可以极大的发挥程序员的思想空间
  • 学习思考问题的方式,以及解题思路

www.jianshu.com/p/0e6365f4b… 简书上面做的一个回答


一些感谢:


  1. 文科生学这个表表示虽然痛苦,但是会努力一步一步的学习
  2. 写出来是监督自己产出,这门语言非常深奥和困难,借助视频和书籍慢慢啃
  3. 一定要深入的理解黑盒抽象的思维,解题的思路大于题目本身的意义
  4. 持续更新,用文章输出来勉励和督促自己。


第一节课 上课笔记



计算机科学


  1. y^2 = x && y>= 0
  2. 亚历山大的连续平方根
  3. 知道规则不等于可以运用规则
  4. 复杂度控制
  1. 黑盒抽象
  2. 猜测->验证结果
  1. 寻找函数的不动点
  1. 输入
  2. 输出
  1. 线性组合的基本方法
  2. 构建大型程序
  1. OOP


黑盒抽象


网络异常,图片无法展示
|


元语言抽象


  1. 数据抽象:如何组合程序的基本元素,构造更复杂的结构
  2. 过程抽象:如何将复杂的结构抽象出高层组件,提供更高维度的组合型
  3. 模块化,通过高抽象层次的组织方法,提高系统的模块性


约定接口


  1. 对应计算机的输入与输出
  2. 使用黑盒不需要知道内部结构,只需要知道约定俗称的接口的功能


在进行正式SCIP学习之前,需要安装环境


1. 下载 DrRacket


直接访问:racket-lang.org/

找到自己对应的内容下载页面


网络异常,图片无法展示
|


2. 安装


下载完安装包之后,就可以进行安装操作了


网络异常,图片无法展示
|


注意不要安装在C盘,一般习惯是直接切换一个盘符,直接安装到D盘即可

安装好之后,你在桌面上可能找不到你要的东西,所以请查看一下你的开始菜单(MAC不了解,这里只能说明windows的地址,抱歉)


网络异常,图片无法展示
|


3. DrRacket

这个界面怎么说呢,如果你用过C语言的编辑器(没错就是老掉牙的那个),其实感觉还行,但是如果经常使用中文的菜单可能不习惯


网络异常,图片无法展示
|


没关系,在HELP里面,可以切换:


网络异常,图片无法展示
|


4. 安装 SICP Package


  1. 选择File -> Package Manger

网络异常,图片无法展示
|


  1. 在标红的地方,输入sicp


网络异常,图片无法展示
|


  1. 下载比较建议挂个梯子下载,需要访问github进行安装包的下载


网络异常,图片无法展示
|


  1. 安装成功之后,大概类似这种界面


网络异常,图片无法展示
|


5. 测试 SICP package 安装成功与否


  1. 首先在顶部输入#lang sicp然后run一下,如果看到下面的语言切换了,说明成功了。


网络异常,图片无法展示
|


  1. 接着输入如下的方法:


#lang sicp
(define (increase x) (+ x 1))
复制代码

网络异常,图片无法展示
|


  1. 文件夹管理的包:files-viewer,类似插件,安装方式如下:


网络异常,图片无法展示
|

相关文章
|
5月前
|
算法
‘/’ 和 ‘%’ 在编程中的作用【附加练习题】
‘/’ 和 ‘%’ 在编程中的作用【附加练习题】
|
10月前
|
算法 C语言
C语言--离散数学实验--图的基本概念及其应用
C语言--离散数学实验--图的基本概念及其应用
|
12月前
|
程序员 C语言 Windows
计算机程序的构造和解释 - 个人笔记(一)
学习任何语言思想最重要的是思想本身,而scheme由于语言天生的自由性,可以极大的发挥程序员的思想空间
70 0
|
12月前
|
NoSQL Java 数据库
解释afterPropertiesSet方法的用处
解释afterPropertiesSet方法的用处
|
12月前
|
算法 安全 程序员
c++模板的概念全新解释(一)
c++模板的概念全新解释(一)
169 0
|
12月前
|
算法 搜索推荐 程序员
c++模板的概念全新解释(二)
c++模板的概念全新解释(二)
101 0
|
SQL 测试技术
软件测试面试题:解释以下函数及他们的不同之处?
软件测试面试题:解释以下函数及他们的不同之处?
51 0
计算机程序的构造和解释 - 个人笔记(一)(下)
计算机程序的构造和解释 - 个人笔记(一)(下)
100 0
【C++初阶学习】C++类和对象-最终之章(下)(2)
【C++初阶学习】C++类和对象-最终之章(下)(2)
【C++初阶学习】C++类和对象-最终之章(下)(2)