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

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

前言



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


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,类似插件,安装方式如下:


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

相关文章
|
3月前
|
安全 数据安全/隐私保护
解释 TCSEC 和 ITSEC
【8月更文挑战第31天】
104 0
|
C++
C++ Primer Plus 第十章答案 对象和类
只有聪明人才能看见的摘要~( ̄▽ ̄~)~
78 0
|
C++
C++ Primer Plus 第七章答案 函数——C++的编程模块
只有聪明人才能看见的摘要~( ̄▽ ̄~)~
81 0
|
程序员 C语言 Windows
计算机程序的构造和解释 - 个人笔记(一)
学习任何语言思想最重要的是思想本身,而scheme由于语言天生的自由性,可以极大的发挥程序员的思想空间
104 0
|
存储 Java 编译器
【C语言】关于我回头学的那些预处理等(五)(重点)
我的第一门语言就是C,但是学艺不精,中途跑去学了C#和Java后,感觉到了C的重要性,毕竟是最接近底层的语言,又跑回来学C。 毕竟前两门的控制语句,变量什么的都是类似的,回到C后只需要学习一些特定C的语法,比如宏,预编译指令等等,这些对我来说都是陌生的词汇。 所以边学边记录一下以前的知识。
141 0
|
算法 安全 程序员
c++模板的概念全新解释(一)
c++模板的概念全新解释(一)
197 0
|
算法 搜索推荐 程序员
c++模板的概念全新解释(二)
c++模板的概念全新解释(二)
122 0
计算机程序的构造和解释 - 个人笔记(一)(下)
计算机程序的构造和解释 - 个人笔记(一)(下)
128 0