1. 需求最开始的出现
- 给机器编程的需求,在计算出现之前就已经存在了
- 最著名的例子来自纺织业,例如在一块布上,不想要纯色,而是有图案的布,例如条纹或者方格
- 约瑟夫·玛丽·雅卡尔 发明了可编程纺织机,1801 年首次亮相
- 很多人认为雅卡尔织布机是最早的编程
2. 穿孔纸卡
- 便宜、可靠、易懂
- 用于 1890 年美国人口普查
- 早期汇总机不算计算机,因为它们只做一件事:汇总数据。操作是固定的,不能编程。
- 穿孔纸卡存的是数据,不是程序
- 用纸卡的最大型程序是美国空军的 SAGE 防空系统,于 1955 年完成
3. 纸带
- 穿孔纸卡的亲戚
- 基本是一回事,只不过更连续,不是一张张卡
4. 插线板
- 正确执行不同计算
- 面板有很多小插孔,程序员可以插电线,让机器的不同部分,互相传递数据和信号
- 但是,这也意味着运行不同程序要重新接线
- 到了 1920 年,控制面板编程了可拔插,让编程更加方便,可以给机器插入不同程序
- 世界上第一台通用电子计算机,ENIAC,完成于 1946 年,用了一大堆插线板,给 ENIAC 连线,最多可能花三个星期
- 早期计算机非常昂贵,停机几个星期只为换程序,完全无法接受,人们急需更快、更灵活的新方式来编程
5. 面板编程
- 与其插一堆线到插线板,可以用一大堆开关和按钮,做到一样的效果
- 面板上有指示灯,代表各种函数的状态和内存中的值
- 50和60年代的计算机,一般都有这样巨大的控制台
6. 内存
- 1940 年代晚期,1950 年代初,内存变得可行。价格下降,容量上升
- 与其把程序存在插线板,存在内存变得可行,程序易于修改,方便 CPU 快速读取,这类机器叫「存储程序计算机」
- 程序和数据都存在一个地方,叫「冯诺依曼结构」
- 冯诺依曼计算机的标志:一个处理器(有算数逻辑单元)+ 数据存储器 + 指令寄存器 + 指令地址寄存器 + 内存(存数据和指令)
- 第一台冯诺依曼架构的「存储程序计算机」由曼彻斯特大学于 1948 年建造完成,绰号 "Baby"
7. 家用
- 第一款取得商业成功的家用计算机是 Altair 8800
- 两种版本
- 预先装好的整机
- 需要组装的组件