BCPL 是1966年由马丁·理查兹(Martin Richards)设计的系统编程语言,是无类型语言的代表。它是 B 语言的前身,而 B 又催生了 C 语言,因此被视为现代系统编程语言的重要源头。

| 设计者 | 马丁·理查兹 |
| 诞生年份 | 1967年 |
| 类型系统 | 无类型 |
| 范式 | 过程式、命令式 |
| 历史地位 | B 与 C 语言前身 |
BCPL(Basic Combined Programming Language,基本组合编程语言)是一种早期的、面向系统编程的过程式语言,由英国剑桥大学的马丁·理查兹(Martin Richards)于1966年前后设计。它以极简、可移植和无类型为特点,是 C 语言谱系的关键祖先。
BCPL 诞生于对编译器可移植性的追求。它把编译器拆分为前端与后端,通过一种称为 O-code 的中间代码实现跨平台移植,这一思想在当时颇具前瞻性。BCPL 是一种无类型语言,唯一的数据类型本质上是机器字(word),程序员通过运算符自行解释每个字代表整数、指针还是其他含义。这种设计牺牲了类型安全,却换来了对底层硬件的直接控制与实现的简单。
BCPL 曾被用于编写操作系统、编译器和早期系统软件,著名的经典程序 hello world 的雏形便出自 BCPL 教程。它对 C 语言的诞生起到承前启后的作用:肯·汤普森(Ken Thompson)在其基础上设计了 B 语言,丹尼斯·里奇(Dennis Ritchie)又在 B 的基础上加入类型系统发展出 C。如今 BCPL 已退出实用舞台,主要具有历史与教学价值。
问:BCPL 和 C 语言是什么关系?答:BCPL 影响了 B 语言,B 语言又演化为 C 语言,因此 BCPL 是 C 的祖父辈语言,许多语法风格如花括号代码块可追溯至此。
问:无类型语言是什么意思?答:指语言中不区分整数、指针等类型,所有数据都是同样大小的机器字,如何解释完全由程序员和运算符决定。

| 设计者 | 马丁·理查兹 |
| 诞生年份 | 1967年 |
| 类型系统 | 无类型 |
| 范式 | 过程式、命令式 |
| 历史地位 | B 与 C 语言前身 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧