Thomas E. Kurtz, 1928–2024
10 PRINT "深切悼念 Thomas E. Kurtz"
20 PRINT "他让编程不再是少数人的专利"
30 PRINT "他的精神永远活在每一个因 BASIC 走进编程世界的人心中"
40 LET memories = memories + 1
50 GOTO 30
这段简单的 BASIC 代码,是一位程序员在听闻 Thomas E. Kurtz 离世消息后写下的。对于熟悉 BASIC 的人来说,这短短几行代码包含着深深的敬意——每一次循环都让我们对这位计算机教育先驱的思念更深一层。
2024 年 11 月 12 日,在新罕布什尔州黎巴嫩的一家临终关怀中心,Thomas E. Kurtz 教授与世长辞,享年 96 岁
。他的离去让整个计算机界为之动容,因为他不仅是 BASIC 语言的共同发明人,更是推动计算机教育民主化的先驱者。
消息传出后,互联网社区的追思如潮水般涌来。在 Hacker News 等技术社区,无数程序员自发分享起他们与 BASIC 的故事。这些故事串联起整整一代人的青春记忆,见证了个人计算机时代的黎明。
“
1970 年,我才 13 岁,第一次在学校的 Model 33 电传打字机前坐下,通过学区的 HP-2000 分时系统开始了编程之旅。
”一位用户回忆道,“
这段经历如此深刻地影响了我,以至于后来我专门选择去了达特茅斯大学就读。
”
在当时,能接触到计算机是一件极其难得的事情,拥有编程技能更是让年轻人在升学和求职时脱颖而出。
另一位程序员分享了他 1976 年的启蒙时刻:“
那年我 15 岁,和父亲一起去参加商品展览会。在 IBM 展台,一位工作人员邀请我玩月球着陆游戏,那是在 IBM 5100 上运行的。当我好奇地问父亲屏幕上滚动的字符去了哪里时,因为父亲对技术并不了解,他让 IBM 工程师来为我解释。就在那一刻,我知道这就是我想要做的事情!我就在那里写下了人生中的第一行 BASIC 代码。
”
到了 1980 年代,随着 Apple II、Commodore 64、TRS-80 等家用电脑的普及,BASIC 真正走入寻常百姓家。一位来自印度班加罗尔的程序员记得他 12 岁时的趣事:“
那是 1986 年,我用一台 386 电脑开启了编程生涯。每次我都要插入 5.25 英寸软盘,启动到 command.com,然后进入 GWBASIC。我最喜欢用 BASIC 的 SOUND 命令来'骚扰'朋友和家人,用「SOUND 2000+i, j」这样的命令来控制频率和持续时间,甚至能控制音量。这些声音一旦开始播放,很多人都不知道该如何关掉它。
”
几乎每个学习 BASIC 的人都写过这个经典的无限循环程序:
10 PRINT "HELLO"
20 GOTO 10
“
1977 年,我在连接到 PDP-11/10 的 ASR33 终端上输入了这个程序,
”一位资深工程师回忆道,“
从那一刻起,我就被编程深深吸引住了。
”
而评论区的其他开发者看到之后,纷纷打出另一串代码致敬:
10 PRINT "WE REMEMBER KURTZ"
20 GOTO 10
BASIC 不仅是一门编程语言,更是许多人职业生涯的起点。有人分享了自己的第一份工作经历——用 QBASIC 为核电站编写程序,这份工作后来发展成为他的终身事业。另一位印度程序员则回忆,他用 BASIC 开发的库存控制系统获得了实际的商业收入,那是他第一次靠编程赚到“
真正的卢比(印度货币)
”。这个系统后来成长为一个在全球范围内使用的商业软件。
还有一位用户在高中时用 BASIC 编写了一个钓鱼游戏,这个程序居然连续四年都在地区和州科技展上获奖,而且完全没有做任何改动。这段经历让他错过了两周的课程,但也许正是这样的经历坚定了他未来从事编程的决心。
Kurtz 的离世
恰逢 BASIC 语言诞生 60 周年
。1964 年 5 月 1 日,在达特茅斯学院的计算机实验室里,第一个 BASIC 程序开始运行。60 年后的今天,当我们回首这段历史,更能体会到 Kurtz 的远见卓识。
BASIC 语言的两位发明者:John Kemeny (图左) 和 Thomas Kurtz (图右)
达特茅斯学院在得知这一消息后发表了悼文:“
Thomas E. Kurtz 教授不仅是一位杰出的教育家,更是一位富有远见的创新者。他与 John Kemeny 共同创造的 BASIC 语言,让计算机科学走出象牙塔,走向普通大众。他的贡献将永远铭刻在计算机科学的历史上。
”
ACM(美国计算机协会)和 IEEE 计算机协会也发表联合声明,称赞 Kurtz 是“
计算机教育的先驱者,他的工作改变了整整一代人学习编程的方式。
” 声明特别提到,就在 2021 年,IEEE 还将 BASIC 的诞生地列入了里程碑遗址,与爱迪生发明电灯的门洛帕克实验室,以及马可尼发送第一次跨大西洋无线电传输的博洛尼亚山丘并列。
随着技术的发展,DOS 让位给了 Windows 3.1,命令行被图形界面取代,GWBASIC 也演变成了 QBASIC。许多程序员经历了从 BASIC 到 CLIPPER,再到 FOXPRO,最后是 MFC 和 Borland C++ 的技术演进过程。正如一位程序员在悼念文章的评论区写道:“
一切都始于 BASIC。这是一门神奇的语言。如果没有那段经历,我的人生可能会完全不同。
”
在 Kurtz 离世的消息传出后,True BASIC 公司的网站一度因访问量激增而无法访问。
这个他在 1983 年与 Kemeny 共同创立的公司,至今仍在维护和发展 BASIC 语言。公司发言人表示:“
我们失去了一位伟大的导师,但他的理想永远激励着我们继续前进。
”
为了教育而生的语言
在计算机“
平
民化
”的漫长进程中,总有一些人走在时代前列。
1928 年 2 月 22 日,Thomas E. Kurtz 出生在美国伊利诺伊州奥克帕克。23 年后的 1951 年,年轻的 Kurtz 在加州大学洛杉矶分校参加暑期课程时,第一次见到了一台正在运行的计算机 —— 这是由国家标准局创建的 SWAC(Standards Western Automatic Computer),是美国最早的电子计算机之一。
这台机器由传奇的计算机先驱、2013 年计算机历史博物馆院士 Harry Huskey 监督。对于当时已经在普林斯顿大学攻读数学研究生的 Kurtz 来说,这次偶遇彻底改变了他的人生轨迹。
1956 年,28 岁的 Kurtz 在著名统计学家 John Tukey 的指导下获得博士学位。同年,他加入了达特茅斯学院数学系,开始了他改变计算机历史的旅程。在这里,他遇到了同样怀抱理想的
John Kemeny
。
Kemeny 的经历颇为传奇。二战期间,这位匈牙利裔的犹太移民作为数学家参与了曼哈顿计划,直接与冯·诺依曼合作。1945 年初,他用笨重的 IBM 制表机完成了自己的工作。到了那年年底,第一批电子数字计算机投入使用,Kemeny 亲眼目睹了它们对曼哈顿计划的影响。第二年,他写下了人生的第一个程序。
两位数学家很快找到了共同语言。他们都深深明白计算机将如何改变世界,也都认识到一个严峻的问题:
如何让普通人也能使用这项革命性的技术?
于是,他们给自己设定了一个在当时看来近乎疯狂的目标:教会达特茅斯学院的每一位学生使用计算机。
通向这个目标的道路并非一帆风顺。在 50 年代末 60 年代初,Kemeny 和 Kurtz 开始探索如何让完全没有基础的学生接触编程。当时已有的编程语言如 FORTRAN、ALGOL 等都过于复杂。正如 Kurtz 自己后来回忆的:“
我们研究了各种语言,都认为它们太复杂了。它们充满了标点符号规则,但这些规则的必要性并不明显,因此人们记不住。
”
1962 年,他们进行了第一次重要尝试。当时,达特茅斯数学系配备了一台 LGP-30 计算机,这是一种相对便宜且功能一般的机器,只有 30 千字节的 RAM。在这台机器上,他们开发了一门名为“
达特茅斯超简化编程实验
”(Dartmouth Oversimplified Programming Experiment,简称
DOPE
)的语言。
DOPE 是一次大胆的实验。它删除了一切不必要的结构,将数据和语法简化到最低限度。每个变量都是浮点数,只有四个特殊变量(E、F、G、H)可以作为数组使用。它甚至不支持字符串处理,但这种极简主义恰恰证明了一个重要观点:编程语言可以变得足够简单,让非专业人士也能掌握。
Kemeny
在一本书的开头写道:“
我当时
有一个还在上高中的学生,名叫 Sidney Marshall。
他在达特茅斯上微积分课。
我让他用 DOPE 在 LGP-30 上做实验。
DOPE 太原始了,没多大用,但它是
BASIC 的先驱。
”
DOPE 只在一门数学课上使用了一个学期就退出了历史舞台,但它为 BASIC 的诞生奠定了重要基础。从中吸取的经验让两位 BASIC 之父认识到:
一门真正面向初学者的语言
,应该既保持简单性,又具备足够的实用功能。
如今,在达特茅斯的档案馆中
,保存着一份珍贵的手稿
,其中就记录了 DOPE 的设计思路。
手稿的结尾写道:
“
编程不仅仅是一门技术,更是一种
思维方式。
”
这句话完美诠释了 Kurtz 的理念:
编程不应该是少数精英的特权,而应该成为每个人认识世界、表达思想的工具。
在接下来的两年里,他们精心设计了 BASIC。新语言继承了 DOPE 的一些特点,比如简单的行号系统和基本的流程控制,但在此基础上增加了更多实用功能。他们特意选择使用普通英语单词作为命令,避免晦涩的技术术语。这种设计理念在当时是革命性的——它表明编程语言可以是友好的,可以说人话。
1964 年 5 月 1 日凌晨 4 点,历史性的一刻到来了。在达特茅斯学院的计算机实验室里,
Kurtz
和他的学生在两台计算机终端上输入了第一个 BASIC 程序。与此同时,他们还发布了达特茅斯分时系统(DTSS),这使得多个用户可以同时访问计算机。这两项创新的结合彻底改变了计算机教育的面貌。
达特茅斯的学生很快就爱上了这门新语言。老师们将它融入课堂,学生们则乐于接受。随后的发展超出了所有人的预期—— BASIC 开始走出校园,进入千家万户,成为了个人计算机时代的重要推手。
毕生追求的使命
Thomas E. Kurtz 生平常说:“