1010 程序是怎么来的
第 6 站 · 动手 1945 年的编程方式

插线游戏:用线“写”一个程序

在没有键盘、没有屏幕的年代,程序不是敲出来的,是接出来的。 把线从拨轮插到运算器,再从运算器插到输出灯,然后通电——你就写完了一个程序。

怎么玩
  1. 点一个插孔当起点(拨轮或运算器的出线口):它会亮起来,能接的插孔也会一起闪。
  2. 再点一个闪着的插孔当终点(运算器或灯的输入口)——线就插上了。点线本身可以拔掉。
  3. 点通电看灯亮出几。一个输入口只能插一根线;出线口可以分叉给好几台机器。
  4. 手机上点全屏,插线板会占满屏幕,接线更顺手(再点一次退出)。

第 1 题:让灯亮出 7

接线公式 灯还没接线

点一个插孔开始接线。

输入 · 拨轮

拨轮 A
3
出线口
拨轮 B
4
出线口
拨轮 C
0
出线口

运算 · 加法 / 减法 / 翻倍

加法器 U1 输入 1 + 输入 2
输入 1
输入 2
出线口
减法器 U2 输入 1 − 输入 2
输入 1
输入 2
出线口
翻倍器 U3 输入 1 × 2
输入
出线口

输出 · 指示灯

输出灯
—
输入

你刚刚做的事,就是 1945 年的编程

ENIAC 上的程序员做的正是这件事:把每一步计算翻译成“哪根线插进哪个孔”,然后用手去插。 换一道题,就要把线全部拔下来重新插一遍,常常要好几天。 那时候程序不写在纸上,而是长在机器的身体上——所以“修改程序”真的是在动手改机器。

那为什么后来不用线了?

因为人们想到:既然线只是“把哪个口接到哪个口”的一串约定,那这份约定能不能也变成数字存进内存, 让机器自己去读?——这就是下一站要讲的“把程序变成数据”,也是“软件”这个词的起点。