当时要解决什么
火炮射表需要反复求解复杂轨迹。人工计算速度太慢,机械计算器也无法及时完成大量任务。
为什么重要
ENIAC 让电子数字计算从实验设想变成大型工程,也推动了程序、存储和计算机产业的后续发展。
当时的前沿技术
真空管
使用电子开关快速表示和处理数字,但体积大、耗电高、发热明显。
十进制累加器
机器内部以十进制单元保存数字,通过电子脉冲完成加法。
插线编程
操作员重新连接电缆和开关,改变数据在各功能单元间的流向。
代表性架构
- 输入参数开关和读卡设备向机器提供初始数字。
- 功能表控制运算步骤和常量,类似早期程序指令。
- 累加器多个电子单元并行保存数字并执行加减。
- 输出结果通过打孔卡或指示设备交给操作员。
当时要解决什么
早期计算设备主要服务科研和军事,普通人很难理解它们与自己的关系,更谈不上直接参与。
为什么重要
它展示了实时输入、物理模拟和图形反馈可以组成互动体验,是电子游戏史的重要早期节点。
当时的前沿技术
模拟计算
用连续电压表示球的位置、速度和重力,不使用今天常见的数字帧缓冲。
示波器
电子束在屏幕上绘制球场和亮点,形成即时图像。
代表性架构
- 玩家输入两个控制器提供击球方向和触发信号。
- 模拟电路积分器持续计算球的水平与垂直运动。
- 碰撞判断继电器和电路处理球网、地面与边界。
- 示波器显示电压信号驱动电子束画出球场和球。
当时要解决什么
早期计算机演示往往只有数字和文字,难以展现实时图形、复杂物理和多人输入的综合能力。
为什么重要
Spacewar! 传播到许多研究机构,影响了游戏文化、实时程序设计和后来的商业电子游戏。
当时的前沿技术
PDP-1 汇编
程序直接控制有限的处理器、内存和输入输出设备。
矢量显示
电子束按坐标直接绘制亮点和线条,不依赖像素网格。
实时循环
程序持续读取输入、更新物理状态并重绘画面。
代表性架构
- 控制器两名玩家分别发送旋转、推进和发射命令。
- 游戏状态内存保存飞船位置、速度、方向和炮弹。
- 物理更新处理惯性、引力、碰撞和弹道。
- 矢量输出PDP-1 把计算后的点和线发送给显示器。
当时要解决什么
昂贵的计算资源分散在各研究机构,不同机器难以远程共享数据和能力,专线连接也缺少弹性。
为什么重要
分组交换、网络节点和开放协议逐步把孤立计算机变成网络,第一次主机消息也由此传出。
当时的前沿技术
分组交换
长消息被拆成较小分组,各自传输并在终点重新组合。
IMP
接口消息处理机位于主机和网络之间,承担类似早期路由器的工作。
主机协议
不同计算机需要约定消息格式和通信步骤才能互相理解。
代表性架构
- UCLA 主机用户在本地主机输入远程登录消息。
- UCLA IMP把主机消息整理为适合网络传输的分组。
- 通信线路分组沿网络链路逐段传递。
- SRI IMP 与主机终点 IMP 重组消息并交给远端主机。
当时要解决什么
大型操作系统复杂昂贵,开发者需要一个能在较小计算机上运行、容易理解和扩展的工作环境。
为什么重要
文件、进程、Shell、管道和可移植 C 代码影响了 Linux、macOS、服务器软件和现代开发工具。
当时的前沿技术
进程
每个运行中的程序拥有独立执行状态,由内核调度。
统一文件模型
普通文件、设备和数据流尽量使用相似接口处理。
C 语言
系统核心从汇编迁移到更易理解和移植的高级语言。
代表性架构
- 用户与 ShellShell 读取文字命令并决定启动哪些程序。
- 系统调用程序通过统一接口请求文件、进程和设备能力。
- 内核内核管理 CPU、内存、文件和外设。
- 硬件C 语言降低了操作系统与特定机器指令的绑定。
当时要解决什么
个人电脑已经出现,但硬件规格和软件生态分散,企业和普通用户需要可信、可扩展的通用平台。
为什么重要
开放规格、Intel 处理器和 PC DOS 形成事实标准,推动大量兼容硬件与应用软件进入市场。
当时的前沿技术
Intel 8088
16 位处理器内部设计配合 8 位外部总线,平衡能力和成本。
BIOS
固件负责开机自检并向操作系统提供基础硬件接口。
扩展总线
插槽允许第三方增加显卡、存储、通信等能力。
代表性架构
- 硬件处理器、内存、磁盘、显示器和扩展卡组成个人计算机。
- BIOS开机后初始化设备,再从磁盘寻找操作系统。
- PC DOS操作系统管理文件并提供命令行环境。
- 应用软件文字处理、电子表格和游戏运行在共同平台上。
当时要解决什么
研究资料分散在不同计算机和格式中,人们需要一种简单方法跨机构查看文档并继续追踪相关信息。
为什么重要
URL、HTTP 和 HTML 形成开放组合,任何人都能建立服务器、发布页面并通过链接连接知识。
当时的前沿技术
浏览器与服务器
客户端负责阅读和导航,服务器负责保存并返回文档。
代表性架构
- 浏览器用户输入地址或点击链接,浏览器创建 HTTP 请求。
- 互联网网络把请求传到目标服务器。
- Web 服务器服务器按路径找到 HTML 文档并返回。
- 超文本页面浏览器解析 HTML,显示内容和可继续访问的链接。
当时要解决什么
早期网页每次交互通常都需要跳转或重新请求页面,浏览器缺少轻量、跨平台的内置脚本能力。
为什么重要
浏览器脚本逐渐支撑表单、动画、应用界面和网络请求,并扩展到服务器与多种开发平台。
当时的前沿技术
事件
点击、输入和键盘操作触发 JavaScript 函数。
DOM
浏览器把 HTML 组织成对象树,脚本可以查询和修改。
ECMAScript
标准化语言规范让不同浏览器逐步实现相同核心行为。
代表性架构
- HTML定义页面结构和可交互元素。
- DOM浏览器把结构转换成脚本可访问的对象。
- 事件循环用户事件进入队列,脚本依次处理。
- 渲染DOM 或样式变化后,浏览器更新画面。
当时要解决什么
团队上线新产品前要购买、安装和维护服务器,准备周期长,闲置与峰值容量也难以平衡。
为什么重要
云服务把基础设施操作软件化,开发者可以自动创建、扩展和销毁资源,改变了应用交付方式。
当时的前沿技术
对象存储
应用通过键保存和读取数据,不直接管理物理磁盘。
虚拟计算
计算实例可按需创建,在共享数据中心中获得隔离资源。
服务 API
基础设施操作可以由程序、脚本和自动化流水线调用。
代表性架构
- 开发者在控制台或脚本中描述所需资源。
- 云 API认证请求并转成资源操作。
- 计算与存储服务服务从资源池分配虚拟实例和对象存储。
- 应用部署后的代码通过网络使用这些资源。
当时要解决什么
早期智能手机常依赖实体键盘和复杂菜单,网页、媒体与应用体验受到屏幕和交互方式限制。
为什么重要
手指直接操作界面成为主流,随后 App Store 又建立了移动应用开发、分发和更新生态。
当时的前沿技术
多点触控
电容屏识别手指位置和手势,不再依赖鼠标或手写笔。
移动操作系统
系统统一管理触控界面、网络、传感器和应用生命周期。
应用平台
开发工具和商店让第三方软件可以统一开发、分发和更新。
代表性架构
- 触控与传感器屏幕、加速度计等硬件持续提供输入。
- iPhone OS系统解释手势并向应用提供图形、网络和存储能力。
- 应用每个应用围绕触控任务组织界面和数据。
- 网络服务浏览器、地图、邮件和后续应用通过互联网获取内容。
当时要解决什么
应用常因系统版本、依赖和配置差异出现“在我的机器上能运行”的问题,部署过程也难以复现。
为什么重要
标准镜像和容器工作流连接开发与运维,推动持续交付、微服务和云原生生态快速普及。
当时的前沿技术
容器
应用进程在隔离环境中运行,同时共享宿主机内核。
Dockerfile
文本文件以可复现步骤描述镜像如何构建。
代表性架构
- Dockerfile开发者声明基础镜像、文件、依赖和启动命令。
- 镜像构建器把步骤保存为顺序分层。
- 容器运行时从镜像创建隔离进程和可写层。
- 宿主机内核多个容器共享内核,但拥有独立资源视图。
当时要解决什么
大型语言模型能力很强,但提示接口和单次生成方式对普通用户仍不够直观,也难以持续修正上下文。
为什么重要
对话界面把生成式 AI 推向大众,并促使开发者重新思考搜索、创作、编程和软件交互方式。
当时的前沿技术
Transformer 模型
模型从大量文本中学习词语和上下文关系,再逐步预测输出。
对话上下文
客户端把此前消息与新问题一起交给模型,形成连续交流。
代表性架构
- 对话客户端收集消息、显示回复并维护当前会话。
- 服务 API验证请求、整理上下文并调用模型服务。
- 模型推理模型根据提示和上下文逐步生成输出。
- 安全与反馈系统应用安全规则并收集反馈用于改进。