编程语言 B (1973)

2021-08-09 18:43:00

该文档似乎只存在于(部分)打印在 Teletype 37 型终端上的原始纸张上。它使用下划线来强调。您需要查看 PDF 扫描以验证我在清理 OCR 时可能引入的任何错别字,这非常好,除了有下划线或双引号字符的地方;他们倾向于合并到上面的行中。除了一些明显的错误,尤其是某些命令的语法中缺少一些分号之外,我避免了对原始文件进行编辑的冲动。当这个 CSTR 发布时,大概是在论文发表几个月后,B 的使用在当地的霍尼韦尔 GCOS 系统上越来越多。它的分时设施在这里被称为 MH-TSS,它当时是贝尔实验室的主要计算设施Murray Hill, NJ。此时,B 在早期 Unix 系统中的使用已经基本结束;早期的 C 已经接管了(参见 The Development of the C Language)。事实上,到 1973 年 9 月,操作系统已经被翻译成 C 并且大部分 B 实用程序也被转换了。此处显示的备忘录基于 Ken Thompson 撰写的早期文档 User's Reference to B。B 的 Unix 方言与此处描述的 Honeywell 版本密切相关——编译器前端是相同的,但当然 Unix 系统调用是存在,并且缺少 GCOS 特定的 I/O 内容。基本库一定看起来非常相似。事实上,早期的 Unix 上从来没有很多 B 程序。编译器本身是用 B 编写的,还有一些实用程序,例如第一个 /etc/glob,它扩展了 shell 的通配符。这是因为没有为 PDP-7 或 PDP-11 构建机器代码的编译器; Unix B 编译器产生解释性的线程代码,其效率不足以编写整个系统。另一方面,B 具有真正的编译器,在霍尼韦尔机器上以适度的方式蓬勃发展,如该 CSTR 所示。此外,它在其他地方有直接使用甚至后代,特别是在安大略省的滑铁卢大学。它显然存在于今天:例如,参见 Thinkage Ltd. UW Tools Package。可能的历史兴趣或娱乐的最后说明:据布赖恩和我记得,教程包含“Hello, world”程序的第一个实例。版权所有 © 1997 朗讯科技公司。保留所有权利。