Chapter1:基础
Posted the WORLD
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Chapter1:基础相关的知识,希望对你有一定的参考价值。
整本书的核心:语言的设计与实现,让我想到一句话:意识决定形态,结构决定功能。
行文的逻辑基本就是
1.提出一种设计的必要性,
2.设计从最初到现在的演变,
3.为实现这一设计,不同的语言用了不同的策略,
4.实现的细节,包括运行前的编译,运行中的检查等,也有可能是个语法糖,简单的实现换来优美的设计。
charpter1.0引言
1.机器语言通过指令集控制处理器,指令包括数字的运算,存储位的读写,地址的计算等
2.汇编语言是指令集的助记形式,用的是英文的缩写,机器语言是进制数
汇编语言与机器语言一一对应,所以本质上还是用指令集思考问题,是机器相关的。由汇编器完成两种语言的翻译
机器相关的汇编语言+很多种不同的指令集=同一想法在不同机器上复现很困难
最后,高级语言登场,逐渐实现机器无关性
且高级语言的单条语句与指令集中的单条语句不再对应,这也说明了编译器要足够了解程序正文的语义,进而翻译成机器语言
硬件的复杂化(不容易提升手写汇编语言的效率)+编译技术进步(生成越来越高效的汇编语言)=高级语言被人接受
这一历史体现了“边际成本”的有趣现象,一种设计的优势与劣势是相对的,人们追求优雅一致的设计,但又不想放弃简单高效的实现。
语言的设计目标:清晰,紧凑,易于维护,表达能力强,方便优雅,概念清晰,实现效率
charpter1.2程序设计语言的分类
说明式
函数式:
数据流:
命令式
冯 诺伊曼:C
脚本:python
面向对象:Java
函数式:函数递归,目标函数递归为子问题
数据流:数据在功能节点间流动 tensorflow?
逻辑式:满足逻辑的值,不断筛选和加工 SQL
冯 诺伊曼:计算值(表达式,函数返回值),在变量上存储值,修改变量。
脚本:为特定目标快速建立原型
面向对象:对象维护状态(域),修改状态(方法)
charpter1.3:设计一种语言的目的
表达能力:为表达一种设计,是语言自带了特性,还是进行了语法包装?
实现效率:了解实现的细节,在语言中模拟缺乏的特性
charpter1.4
#!未完
以上是关于Chapter1:基础的主要内容,如果未能解决你的问题,请参考以下文章