11| 编程语言发展史

助记符 如Load A 14 比 0 1 容易理解的多。

机器无法读取,需要汇编器把助记符转成机器码。

时间推移 汇编器越来越多功能,让编程更容易

自动分析JUMP地址:

两个跳转位置


image.png

如果加了指令,地址都会变,更新程序很痛苦 怎么办?


image.png

多以汇编不用固定跳转地址,而是插入可跳转的标签。

当程序别传入汇编器,汇编器自己搞定跳转地址。

程序员可以专心编程,不用管底层细节。

隐藏不必要的细节,做更复杂的工作。

------又提升了一层抽象

但是汇编只是修饰了一下机器码

一般说,一条汇编 指令,对应一条机器指令。

所以会变吗和底层硬件的连接很紧密。

汇编器依然强迫程序员思考,用什么寄存器 和内存地址。

如果你想要一个额外的数,可能要改很多代码

高级语言

汇编和指令一一对应,但高级语言可能会转成几十条二进制指令。

为了做这种复杂的转换,1952年 创造了第一个编译器。

编译器:把高级语言转成低级语言。汇编或机器码

程序员只需要创建 代表内存地址的抽象,叫 “变量”

我做的大部分工作就是因为懒,我不喜欢写程序,所以我写着门语言 让编程更容易。

编译器转换的代码是否比得上手写的代码,运行速度慢一点,编程疏导大大加快。

早期写完程序,还能再一台电脑运行,如果电脑升级要重写所有代码。

所以建立了 数据系统语言委员会,开发一种语言 在不同机器上通用。

于是诞生了 一门高级 易于使用的,普通面向商业语言 cobol

为了兼容不同底层硬件,每个计算架构 需要一个COBOL 编译器。
重要的是这些编译器都可以 接受相同的cobol 代码

这叫 “一次编译 到处运行”

计算机科学从深奥的学科,变成了大众化工具。

编程的抽象 叫程序员,制作更复杂的程序。

1960 年 有 ALGOL LISP BASIC 等语言。

70年代有 PASCAL C 和smalltalk

80 有 c++ objective perl
90 yo Python ruby Java

新千年 swift C# go 在崛起

你可能感兴趣的:(11| 编程语言发展史)