# 分时之梦:JOSS与计算民主化的第一次冲锋
1963年,美国加州圣莫尼卡,RAND公司的地下室里,一台名为JOHNNIAC的巨型计算机正轰鸣作响。在它身旁,一群穿着白衬衫、戴着厚眼镜的科学家围着一台电传打字机屏息以待。一个研究人员颤抖着敲下几行命令:“Set X = 5”、“Compute X + 3”。电传打字机随即咔咔作响,吐出答案:“8”。没有穿孔卡片,没有等待数小时,甚至没有一个专业的程序员在场。那一刻,计算机第一次向人类低下了它高傲的头颅——它开始说人话了。JOSS,这个后来被誉为“交互式数学编程语言之祖”的系统,就此诞生。但鲜有人知,这场技术革命背后,是一场关于权力、商业和理想主义的暗战。
## 铁幕下的计算囚笼:非程序员的绝望
1960年代初,计算机是神圣而恐怖的。它们被锁在恒温的玻璃房间里,由一群穿白大褂的“祭司”——程序员——操控。任何想用计算机的科学家、工程师或数学家,都必须经历一场噩梦:先用铅笔在特制表格上写下程序,然后交给穿孔员制作成卡片,再排队等待数小时甚至数天,最后得到一摞打印纸——上面往往只有一行冷冰冰的错误信息。
RAND公司的数学家们受够了。这家成立于1948年的“思想工厂”,云集了美国顶尖的物理学家、经济学家和军事战略家。他们需要处理复杂的数学模型——核弹头轨迹、卫星轨道、冷战博弈论——但每次计算都像一场艰难的谈判。一位名叫Jules Schwartz的年轻程序员回忆道:“我经常看到满头白发的老教授,抱着厚厚的手稿站在机房门口,像乞丐一样乞求程序员帮他们计算一个积分。那种屈辱感,刻在每个人脸上。”
更讽刺的是,RAND公司拥有当时最先进的计算机之一——JOHNNIAC,一台以数学家约翰·冯·诺依曼命名的机器。但这台机器每天只能处理有限的批处理任务,大部分时间在空转。1961年,RAND启动了一个秘密项目:开发“分时操作系统”,让多个用户通过终端同时使用计算机。但项目主管Keith Uncapher发现了一个更根本的问题:就算能同时登录,科学家们还是不会编程。
“我们需要一种语言,让数学家用英语和计算机对话。”Uncapher在1962年的内部会议上拍着桌子说,“不是FORTRAN那种鬼画符,不是ALGOL那种学术玩具,就是简单的英文句子。”他指定了两位程序员——Bryan G. Anderson和Jules Schwartz——来创造这种语言。目标很明确:让一个物理系研究生,在30分钟内学会写程序。
## 电传打字机上的革命:从JOHNNIAC到JOSS
1963年春天,JOSS的第一个版本在JOHNNIAC上运行起来。它的名字充满黑色幽默:JOHNNIAC Open Shop System(约翰尼阿克开放式分时系统),缩写正好是JOSS——意为“命运”或“定数”。Schwartz后来回忆道:“我们其实是想说‘这是JOHNNIAC的宿命’,但听起来太玄学了。”
JOSS的设计哲学极其激进:放弃一切计算机的“专业感”。它的语法几乎就是英语的简化版:“Set X = 3.14159”、“If X > 0, Then Print X”、“For I=1 to 10, Do Step 5”。没有分号、没有括号、没有神秘的声明语句。用户坐在IBM Selectric电传打字机前,敲入命令,回车,答案立刻打印出来。如果输错了,机器会直接打印“Error: I don’t understand the word ‘WHATEVER’”——就像一位耐心的老师。
但真正的革命在商业层面。RAND公司本质上是一个非营利研究机构,但JOSS的成功让管理者们看到了巨大的潜在市场。1964年,内部报告显示:JOSS的用户平均学习时间仅需2小时,而FORTRAN需要2周。科学家们突然发现,他们可以自己写程序了——不再需要求助于程序员,不再需要等待数天,甚至在深夜加班时也能独自完成计算。
“这是计算机的民主化时刻,”Keith Uncapher在1965年的一次演讲中宣称,“我们不再需要中间人。科学家和计算机之间,只有一层薄薄的英语。”RAND甚至开始向其他政府机构和大学出售JOSS的使用权,每台终端收费每月2000美元(相当于今天1.5万美元)。订单雪片般飞来。
然而,商业成功带来了意想不到的冲突。RAND的管理层开始讨论是否应该将JOSS商业化,成立独立公司。但Uncapher和Schwartz强烈反对:“JOSS是为了打破计算垄断而生的,如果它变成赚钱的工具,那和IBM有什么区别?”这场争论最终导致项目分裂。1966年,RAND决定将JOSS作为内部工具,不再对外销售。与此同时,达特茅斯学院的John Kemeny和Thomas Kurtz正在开发BASIC语言——他们公开承认受到了JOSS的启发。BASIC很快成为微机的标准语言,而JOSS则逐渐被遗忘。
## 沉默的遗产:BASIC、PC与失去的十年
JOSS在RAND内部一直运行到1970年代,直到JOHNNIAC计算机退役。但它播下的种子已经开花结果。1964年,达特茅斯BASIC的开发者之一Kemeny在论文中写道:“我们借鉴了JOSS的自然语言风格和即时反馈机制。”BASIC后来被比尔·盖茨和保罗·艾伦移植到Altair 8800上,成为个人电脑革命的基石。
但JOSS的悲剧在于:它诞生得太早,又死得太安详。RAND作为非营利机构,缺乏商业化的动力和基因。如果1965年的Uncapher选择下海创业,也许就没有微软BASIC什么事了。Schwartz晚年感叹:“我们给了世界一个礼物,却忘了在上面贴价格标签。”
更深远的影响在于交互式编程的理念。JOSS证明了:计算机不需要成为精英的玩具。它的“即时反馈”模式直接催生了后来的LISP解释器、Smalltalk环境,甚至今天的Jupyter Notebook。每一个敲下“Shift+Enter”就能看到结果的现代程序员,都是JOSS的幽灵传人。
## 评论
JOSS的故事揭示了技术史上一个残酷的规律:先行者未必是胜利者。RAND的科学家们创造了一个完美的产品,却因为机构文化的“非营利洁癖”和商业上的犹豫不决,将市场拱手让给了后来的BASIC。这不仅是商业史上的教训,更是关于创新生态的隐喻:当技术突破发生在远离市场的地方时,它往往只能成为博物馆里的展品。JOSS还告诉我们,所谓“用户友好”从来不是一个技术问题,而是一个权力问题——谁有权使用计算机?谁有权定义“简单”?JOSS的失败在于它试图让计算机说人话,却忘了教会它的创造者说商业语言。今天,当我们用Python、JavaScript或SQL轻松完成计算时,请记住:那些让计算机变得“愚蠢”而人类变得“聪明”的努力,始于1963年夏天,一个叫JOSS的幽灵,在电传打字机的咔咔声中,第一次让机器学会了倾听。
## 参考资料
- [JOSS - Wikipedia](https://en.wikipedia.org/wiki/JOSS) — 维基百科关于JOSS的详细介绍,包括技术细节和历史背景
- [RAND Corporation - JOSS: The First Interactive Mathematical Language](https://www.rand.org/pubs/papers/P3321.html) — RAND公司官方发布的JOSS技术报告
- [The History of Time-Sharing: JOSS and the JOHNNIAC](https://www.computerhistory.org/timeline/1963/) — 计算机历史博物馆关于分时系统发展的记录
- [Jules Schwartz Oral History](https://www.computerhistory.org/collections/catalog/102657972) — 计算机历史博物馆对JOSS开发者Jules Schwartz的口述历史访谈
1963年,美国加州圣莫尼卡,RAND公司的地下室里,一台名为JOHNNIAC的巨型计算机正轰鸣作响。在它身旁,一群穿着白衬衫、戴着厚眼镜的科学家围着一台电传打字机屏息以待。一个研究人员颤抖着敲下几行命令:“Set X = 5”、“Compute X + 3”。电传打字机随即咔咔作响,吐出答案:“8
发布于 2026/7/4