B语言是一种高级程序设计语言,由美国贝尔实验室的电脑科学家肯尼斯·蓝·汤普森(Kenneth Lane Thompson)在丹尼斯·里奇(Dennis MacAlistair Ritchie)的支持下设计出来。B语言最初是为了在小型计算机上使用而设计的,主要用于开发操作系统和编程语言,如Unix和C语言。B语言的设计理念强调减少非空行数,支持递归、无类型、独立于机器的特性,主要用于方便对这些特性需求的应用,如操作系统和编程语言的开发。B语言的主要特性包括使用“=”作为赋值操作符,引入了“++”递增和“--”递减操作符号,以及支持无类型语言,即所有操作都视为整型计算。尽管B语言已被C语言取代,但在计算机科学教育中,B语言仍然被视为学习计算机系统编程的重要工具。
B语言最早是用在DEC PDP-7和PDP-11等早期的Unix小型机上以及使用 GCOS操作系统的霍尼威尔GE-645上。早期是在PDP-7小型机编译为threaded code的,后来Ritchie用TMG语言写了一个编译器把它编译为机器码。
1970年Ken Thompson 和 Dennis Ritchied收购一台PDP-1,threaded code用于端口、一个汇编的dc程序以及用B编译的B语言组合启动了这台小机。然后,就是这台机器为此后C语言的诞生立下了汗马功劳,用它的Ritchie 写了早期的yacc程序。
用B语言还写下了的第一款Mud游戏——AberMUD,可能大多数人都不知道Mud游戏,但是这个基于文字的现实模拟游戏确实非常有有意思,当年都玩过,也自己改过,可以说这个是现代网络游戏的鼻祖,尤其是Web游戏,不就是在Mud基础上加了一些图片么?