← 返回故事列表

一纸合同改写计算史:当微软的“残次品”成为亿万人的编程启蒙

时代:1977
阅读时间:8 分钟
浏览:5
点赞:0

1977年,硅谷的清晨,比尔·盖茨把一纸合同推过会议桌,对面坐着的是Commodore创始人杰克·特拉米尔(Jack Tramiel)。这是一场看似平淡的谈判——微软将向Commodore授权其刚刚起步的BASIC解释器,授权费是一次性买断,而非版税分成。特拉米尔咧嘴笑了,他喜欢这个“一次性付清”的

# 一纸合同改写计算史:当微软的“残次品”成为亿万人的编程启蒙 1977年,硅谷的清晨,比尔·盖茨把一纸合同推过会议桌,对面坐着的是Commodore创始人杰克·特拉米尔(Jack Tramiel)。这是一场看似平淡的谈判——微软将向Commodore授权其刚刚起步的BASIC解释器,授权费是一次性买断,而非版税分成。特拉米尔咧嘴笑了,他喜欢这个“一次性付清”的方案,这意味着他能把成本压到极致。他万万没想到,这张合同签下的不仅是一个软件,而是一个时代:一个将BASIC固化在ROM里、让电脑开机即进入编程环境的时代。这个决定,让Commodore BASIC成了个人计算机史上最普及的“启蒙老师”,也成了微软与Commodore之间一场长达十年的技术博弈的起点。 ## 一、ROM里的“暴君”:特拉米尔的成本哲学与微软的妥协 故事要从1976年说起。当时,个人计算机市场还是一片蛮荒:Altair 8800需要用户用拨动开关输入二进制代码,而Apple II虽然内置了BASIC,但它的解释器存储在磁带上,每次开机都要等上数分钟加载。特拉米尔,这位从奥斯维辛集中营幸存下来的波兰犹太移民,早已在计算器市场用“价格屠夫”策略杀出一条血路。他的信条简单而冷酷:“我们要造的不是计算机,是工具。工具必须便宜,必须立刻能用。” 当Commodore决定进军个人计算机时,特拉米尔锁定了两个关键决策:第一,用6502处理器(成本不到Intel 8080的十分之一);第二,把BASIC解释器直接烧录进只读存储器(ROM)。这意味着用户按下电源键的瞬间,屏幕上就会跳出“READY.”提示符,连磁盘操作系统都不需要。这个设计思路在当时极为超前——大多数厂商认为BASIC是“应用软件”,应该放在磁带或软盘上,而特拉米尔坚持:“如果用户需要等待,他就不会买。” 但技术难题接踵而至。微软的BASIC最初是为Altair的8080处理器编写的,而Commodore PET使用的是6502芯片。微软的年轻程序员们(包括盖茨本人)不得不从头重写解释器的核心——将16位指令集翻译成8位架构。更棘手的是,ROM空间极其有限:PET的BASIC ROM只有8KB,而微软的BASIC原本需要12KB。微软团队不得不砍掉浮点运算的精度(从40位降到32位),甚至删除了部分字符串函数。盖茨后来回忆:“那是我写过最痛苦的代码之一,每一行都在和字节搏斗。” 最终,微软交付了一个“残血版”BASIC:它没有文件管理功能,没有图形命令,甚至连错误提示都只有简单的“?SYNTAX ERROR”。但特拉米尔毫不在意——他要的是“开机即编程”,而不是“功能齐全”。1977年6月,Commodore PET 2001发布,售价795美元(约合今天3400美元),比Apple II便宜近一半。开机后,黑色屏幕上闪烁的绿色光标,成了无数人第一次与计算机对话的窗口。 ## 二、C64的“灵魂”:从游戏修改到一代黑客的诞生 Commodore BASIC真正的爆发,发生在1982年。那一年,Commodore 64(C64)横空出世,售价仅595美元,内置了升级版的BASIC 2.0。这个版本依然简陋:没有图形命令(连画点都需要用POKE直接操作硬件),没有文件系统(只能通过LOAD/SAVE读写磁带),甚至连基本的循环变量都只能用FOR...NEXT的原始形式。但正是这种“简陋”,催生了最狂野的创造力。 当时的青少年买回C64,打开电源,看到的不是Windows桌面,而是一个蓝色背景下的白色提示符。他们必须学会用BASIC控制一切:用`POKE 53280,0`改变屏幕边框颜色,用`SYS 49152`调用机器语言子程序,用`PRINT CHR$(205.5+RND(1))`生成随机的迷宫图案。没有图形界面,没有鼠标,没有网络——只有一行行代码和一本薄薄的《Commodore 64用户手册》。但这本手册成了他们的圣经。 最传奇的故事发生在游戏领域。当时的游戏存储在磁带中,加载时会在BASIC环境中执行一段机器码。无数少年发现,只要在游戏加载前输入`POKE 53281,0`(改变背景色),就能“作弊”获得无限生命——因为游戏开发者将生命值存储在某个固定内存地址。这种“POKE文化”迅速蔓延,杂志上开始刊登“游戏修改代码”,例如“在LOAD后输入POKE 43252, 173即可获得无限子弹”。本质上,Commodore BASIC的开放架构让硬件完全裸露在用户面前,任何内存地址都可以直接读写。这既是安全灾难,也是编程启蒙的黄金时代。 一位当年的C64用户后来回忆:“我14岁时,用BASIC写了一个程序,每按一次空格键就会在屏幕上画一条线。我花了三天时间,因为手册上没教怎么读取键盘状态。最后我发现,`PEEK(197)`能返回按键扫描码。那一刻,我感觉自己破解了宇宙的秘密。”这种“硬件直接访问”的设计,让Commodore BASIC成为低阶编程与高阶探索之间的桥梁。无数后来的软件工程师、黑客、游戏开发者,都是从C64上敲下第一行`10 PRINT "HELLO WORLD"`开始的。 ## 三、被遗忘的“遗训”:为什么Commodore BASIC没有图形命令? 令人费解的是,Commodore BASIC直到1984年的C128版本才加入了基本的图形命令(如`DRAW`和`LOCATE`)。而同期推出的Apple IIe的BASIC早已支持高分辨率绘图。这背后是一场技术官僚的傲慢与市场嗅觉的错位。 Commodore的工程师们坚信,BASIC应该保持“纯净”——它只是用来启动机器、加载软件的引导器,真正的编程应该用汇编语言。特拉米尔本人也认为,图形命令会占用宝贵的ROM空间,且增加学习成本。这种思维在1980年代初是致命的:当竞争对手的BASIC允许用户直接画圆、画线时,Commodore用户却必须用`POKE`操作VIC-II图形芯片的寄存器,一行行设置像素位。C64的图形芯片(VIC-II)是当时最先进的,能同时显示16色和硬件精灵,但BASIC却无法直接调用这些功能。 直到1985年,一位名叫Jim Butterfield的加拿大程序员开发了第三方扩展“BASIC 4.0”,才让C64用户能用`GRAPHIC`命令进入高分辨率模式。这讽刺地揭示了Commodore BASIC的局限性:它本可以更强大,但公司的短视让用户不得不依赖第三方补丁。然而,正是这种“不完善”,迫使一代程序员深入硬件底层,理解了内存映射、中断向量和I/O端口——这些知识在后来的PC编程中成为无价之宝。 1985年后,随着Commodore的衰落(1994年破产),BASIC语言也渐渐被C、Pascal和后来的Python取代。但Commodore BASIC的遗产从未消失:它证明了“开机即编程”的理念可以引爆市场需求,也揭示了“把硬件完全开放给用户”的设计哲学如何塑造一代人的计算思维。今天,当孩子们用Scratch拖拽积木块时,他们或许不会想到,四十年前,一个叫Commodore BASIC的“简陋”解释器,已经用最原始的方式教会了人类如何与机器对话。 ## 评论 Commodore BASIC的故事,本质上是一场“不完美”的成功学。它的技术缺陷(无图形命令、8KB限制)反而成为其最大优势——迫使用户放下“用户友好”的拐杖,直接与硬件共舞。这颠覆了软件业一个流行假设:工具必须完美才能普及。事实上,对于启蒙教育而言,一个“有挑战性”的工具远比“一键完成”的工具更能培养深度理解。今天,当IDE和框架越来越自动化时,我们是否正在失去那种“通过POKE直接修改内存”的底层直觉?Commodore BASIC的遗产提醒我们:真正的技术突破,有时不在于功能多寡,而在于它是否敢于把“控制权”交给用户,哪怕这种控制伴随着痛苦。商业上,特拉米尔的成本优先策略固然造就了C1的销量神话,但也因忽视软件生态而葬送了公司——这或许是所有“硬件思维”公司最深刻的教训。 ## 参考资料 - [Commodore BASIC on Wikipedia](https://en.wikipedia.org/wiki/Commodore_BASIC) — 全面介绍Commodore BASIC的版本历史和技术细节 - [The History of Commodore 64 BASIC](https://www.c64-wiki.com/wiki/BASIC) — C64 Wiki上关于BASIC的深入文档,包括POKE/PEEK用法 - [Jack Tramiel obituary in The Guardian](https://www.theguardian.com/technology/2012/apr/11/jack-tramiel) — 特拉米尔的生平与商业哲学 - [Microsoft BASIC's 6502 Port](https://www.pagetable.com/?p=774) — 技术博客分析微软BASIC移植到6502过程中的代码取舍 - [Commodore 64: The Most Popular Computer of All Time](https://arstechnica.com/gadgets/2020/05/commodore-64-at-40-the-most-popular-computer-of-all-time/) — Ars Technica对C64历史地位的详细回顾

发布于 2026/7/4