20世纪60年代初,当大多数计算机占据整个房间时,全球的程序员几乎无法填满一个棒球场。只有几千名专家能够驾驭像Fortran和Cobol这样晦涩的编码语言,以及它们运行的笨重大型机。
到20世纪70年代中期,程序员的数量已达数百万。计算机进入主流的第一步是由托马斯•库尔茨和他的达特茅斯学院(Dartmouth College)同事约翰•凯门尼(John Kemeny)推动的。库尔茨本月去世,享年96岁。1964年,这两位创造了一种名为Basic的简单、快速且直观的编程语言。他在2014年的一部纪录片中回忆道:“这是计算机史上第一次尝试将计算机带给大众的努力。”
微软联合创始人比尔•盖茨(Bill Gates)说:“我们所有在过去60年中编写过代码的人都应该感谢托马斯•库尔茨。”他在十几岁时就用Basic创建了自己的第一个计算机程序,并于1975年推出了微软公司,其Basic版本适用于微型计算机。“在20世纪60年代,计算机体积庞大、价格昂贵,而且只有科学家才能使用,但他认为每个人都应该有机会使用计算机。”
从一开始,库尔茨就想创建一个系统,即使是达特茅斯学院的人文学科学生也只需几个小时的指导就能使用。BASIC(初学者通用符号指令代码)用普通英语单词如“LET”、“IF”和“THEN”取代了其他编程语言中晦涩难懂的命令。
它是与凯门尼和库尔茨开发的另一项创新“分时”同时发展起来的,这项技术允许多人同时使用一台大型计算机。这些想法共同为20世纪70年代和80年代的个人电脑革命,以及几十年后随之而来的云计算行业铺平了道路。
库尔茨于1928年出生在芝加哥郊区的奥克帕克,接受了数学家的培训,并于1956年从普林斯顿大学获得博士学位。同年,他被凯门尼聘请到达特茅斯学院教授数学,并在那里工作了将近40年。
1959年,达特茅斯学院获得了自己的计算机。凯门尼和库尔茨希望它能成为校园内每个人都能使用的工具。麻省理工学院(MIT)已经在研究中使用了时间共享的概念:与其完全“批处理”每个作业,分时系统每次运行多个作业一秒钟。库尔茨的独到之处在于将其用于教育目的,他当时称之为“完全疯狂的想法”。
达特茅斯学院的第一台计算机无法运行分时系统,但库尔茨和凯门尼开始手工编写一个,并招募本科生协助。库尔茨对学生的指示是:“在所有情况下,如果要在简单和高效之间做出选择,就选择简单。”
如果说达特茅斯分时系统是当今操作系统的先驱,那么Basic就是它的第一个应用程序。它的亮点在于即时性:一个简单的Basic程序只需几秒钟就能做出响应。
1964年5月1日清晨的一次测试证明了两个系统都能正常工作,当时两个基础四国程序利用分时技术在达特茅斯学院的新通用电气主机上同时运行。库尔茨很快将其连接到校园内的电传打字机上,这些打字机可以向主机发送信息,然后打印回复。数百名学生很快开始使用它,达特茅斯学院的网络后来通过电话线扩展到美国各地的大学。
斯蒂芬•加兰(Stephen Garland)说:“除了个人电脑,这种远程访问的概念在当今的计算中占主导地位……汤姆站在了最前沿,他看到了这将走向何方。”加兰在达特茅斯大学读本科时遇到了库尔茨,后来成为那里的教授,主导了达特茅斯分时系统和Basic的开发。
库尔茨相信,当微软推出针对Altair 8800的Basic版本时,已经有500万人会写Basic了。随后,IBM和英国计算机制造商Acorn等公司推出了更多版本,其BBC Basic在20世纪80年代被许多英国学校使用。
根据加兰的说法,虽然1992年去世的凯门尼在两人中更为知名,但库尔茨应当被视为“平等伙伴”。
这两位教授预见到,计算机将普及,因此大学需要帮助学生了解计算机。加兰说:“他们意识到,必须就计算机在社会中的使用做出决定,最好让大量的人了解计算机是什么,这样他们就不会被行话或计算机总是正确的想法所迷惑。”