让微型计算机接受BASIC程序

Altair BASIC是1975年为Altair 8800微型计算机开发的BASIC语言解释器。比尔·盖茨、保罗·艾伦和蒙特·戴维多夫是手册列出的共同作者,软件由美国新墨西哥州阿尔伯克基的微型仪器与遥测系统公司(MITS)提供给用户。

它把BASIC这种已经存在的语言带到Altair上。1975年4月7日的《Computer Notes》宣布解释器已经运行,并用带行号的利息计算程序向读者说明用途。用户可以在终端输入较容易理解的语句,让机器完成计算,而不必为每一个应用自行编写机器指令。

参考:[1] [2]

模拟器上的开发与现场试验

盖茨在史密森学会的视频史访谈中回忆,团队起初没有Altair实机。艾伦在PDP-10环境中准备汇编、调试和8080指令模拟工具;盖茨组织解释器的设计与主要代码,戴维多夫参与浮点数学例程。程序、用户数据和解释器要挤进很小的内存,是设计中的实际约束。

艾伦随后携纸带到MITS测试。按照盖茨的回忆,第一次装入未成功,重新装入后解释器开始响应,运行了“PRINT 2+2”等简单运算。成功的现场试验把模拟环境中调试的软件与Altair硬件接在一起。

参考:[4]

从宣布可运行到向用户出货

4月的公告与商业交付并不是同一阶段。7月《Computer Notes》的编辑文字已经说BASIC正在发货,同期问答仍保留了计划自6月23日起发送4K及8K版本的答复,并说明部分订单还在等待用户寄回许可协议。

用户收到软件时,也获得相应手册。问答说明可以用纸带或盒式磁带交付,并用校验信息检查装入过程。对于带ASR-33电传打字机的系统,LIST还能把用户程序输出到纸带;8K的盒带版本另外提供保存与装入命令。软件的使用因此依赖内存、接口、终端与存储介质共同配合。

参考:[3]

从立即计算到保存一段程序

1975年手册先让读者输入“PRINT 10-4”,解释器立即给出6,再返回提示。没有行号的语句适合当场计算;带行号的语句则保存在内存中,输入RUN后按行号顺序执行。用户可以用LIST检查已经输入的程序。

手册随后用三行程序生成平方根表:第10行令N从1循环到10,第20行打印N与SQR(N),第30行NEXT N推进循环。这样,不必分别写十条计算语句,就能逐项显示数字和它们的平方根。

这种交互方式把输入、查看结果和修改程序放在同一工作过程中。行号既决定执行的通常顺序,也方便用户重新输入某一行,修改局部内容后再次运行。

参考:[1]

内存限制与版本取舍

4K和8K不是只有容量名称不同。同期问答列出,较小版本省略字符串、多维数组以及若干逻辑和外部设备操作;在保留可删减数学功能时,4K配置约剩650字节供程序或变量使用。较大的版本增加功能,也需要更多存储空间。

1975年手册所附的Extended BASIC初步说明标有12月日期,说明更完整文档尚待印行。扩展版本属于这一年的后续发展,用户需要依据所装版本选择语句和功能。到1976年的公开信,盖茨又列举了4K、8K、扩展、ROM及磁盘等多个形态。

参考:[1] [3] [5]

软件传播与付费争论

解释器的传播也带来了复制与收入问题。盖茨在1976年《致电脑爱好者的公开信》中说,三人不仅编写最初程序,还持续投入文档、修订和新增功能;他认为未经付费的复制使开发回报不足,妨碍进一步的软件投入。

公开信把商业软件开发与爱好者之间的共享惯例带入正面争论。Altair BASIC由此既是早期微型计算机上的编程工具,也是Micro-Soft围绕软件许可、维护和版本扩展建立业务的一项重要产品。

参考:[5] [4]