Die Programmiersprache B wurde 1969 von Ken Thompson und Dennis Ritchie spezifiziert. 'B' baut direkt auf BCPL auf und ist Vorgänger der Programmiersprache C.
B ist vor allem interessant aus sprachtechnischen Gründen, da es die Entwicklung von BCPL zu C genauer dokumentiert. Es wurde für DEC PDP-7 und PDP-11 Maschinen und Honeywell Mainframes portiert, wo es zum Beispiel für das bekannte AberMUD von Alan Cox bis in die 1990er-Jahre benutzt wurde.
In B gab es wie in BCPL oder Forth nur einen Datentyp, dessen Bedeutung sich erst durch die benutzten Operatoren und Funktionen ergab. Es gab bereits viele Spracheigenschaften, die man in C finden kann. Einige Programme sind sogar ohne Probleme noch mit heutigen C-Compilern übersetzbar.
main() {
auto c;
auto d;
d=0;
while(1) {
c=getchar();
d=d+c;
putchar(c);
}
}
Dieses Programm lässt sich auch noch mit heutigen C-Compilern (im K&R- oder traditional-Modus) übersetzen. Es ist jedoch kein ANSI-C.