早期编程方式
在执行程序之前,你是否想过程序是如何到内存中的呢
雅卡尔织布机 可能是最早的编程哦,一个可编程的织布机
为了执行不同的计算,程序员需要一个控制面板,面板有很多小插孔,程序员可以插电线让机器不同的部分相互传数据和信号 也叫 插线板 ,之后控制面板变成了可插拔,让编程变得更加容易,通过更换控制面板给机器插入不同的程序
但是这样的插线板的编程需要程序员现在纸上写好程序,再给插线板插上一根根线,再将写有程序的纸交付给计算机读取,不仅费时间,而且很费程序员,
幸运的是,不久之后 内存 变得可行,可以使和CPU便于读取,易于修改,更省价格和程序员的生命,容量也变多了,这种机器叫做 存储程序计算机(stored—program computer)
程序和数据都在存放在一个地方叫做 冯诺依曼结构
冯诺依曼结构的标志是 一个处理器(有算数逻辑单元)+一个数据寄存器+一个指令寄存器+指令地址寄存器+内存(负责存数据和指令)
1980年代,几乎所有程序都是用穿孔卡纸来将程序写入内存,计算机再通过打孔将程序输出在穿孔卡纸上,穿孔卡纸的亲戚是纸带
当时还有面板编程可以与插线板相抗争,应用一大堆开关来代替插线板上繁琐的线
编程语言
计算机只能识别二进制,用二进制组成的语言这叫做机器语言或者机械码
早期编程,人们只能用机械码经行编程,一般会现在纸上用人类的语言写一个“高层次版”,这个高层次版就是伪代码,之后用“操作码表”将伪代码转换为二进制机械码,之后输入计算机进行运行
由于此种方法太过于麻烦,后开发出一种新语言,每一个操作码有一个助记符,其后紧跟数据,形成完整的指令这个语言叫做汇编语言(一个低级语言)并开发出一种程序叫做汇编器配合汇编语言使用,汇编器将汇编语言写的程序转会成机械码,供给计算机读取
不断升级的汇编器,可以是程序员专心编程,不用管底层的细节,隐藏不必要的细节来做更复杂的工作
但是汇编语言和机械码几乎是一一对应的,书写他们时还是需要去和寄存器,内存打交道,麻烦至极,编写程序很慢之后人们发明了高级语言和可以将高级语言转成低级语言的编译器。渐渐的发展出了现在多种的高级编程语言和人人都可以去编写程序的盛世