B (linguaggio)
Il linguaggio di programmazione B, ispirato al BCPL, è un linguaggio ormai obsoleto e viene in pratica ricordato solo perché da esso trasse origine uno dei linguaggi più utilizzati al mondo, il C. Sviluppato principalmente da Ken Thompson presso i Bell Laboratories della AT&T Corp., con contributi di Dennis Ritchie, fece la sua comparsa attorno al 1969.
Essenzialmente si tratta del BCPL, privato di tutti quei componenti di cui Thompson ritenne di poter fare a meno, così da poterlo utilizzare sui minicomputer di quel tempo che avevano una quantità di memoria limitata.
Come il BCPL e il FORTH, il B aveva un unico tipo di dato, la parola (word, in inglese). La maggior parte delle operazioni trattava la parola come un intero (i.e. +, -, *, /) ma altre come un indirizzo di memoria da dereferenziare. In molti altri casi assomigliava molto a una versione preliminare del C. Esistevano alcune librerie di funzioni, inclusa una che vagamente ricordava le funzioni che poi andranno a far parte della libreria IO standard del C.
Le prime implementazioni furono per i minicomputer DEC PDP-7 e PDP-11 che utilizzavano il sistema operativo Unix e per i mainframe a 36 bit Honeywell su sistema operativo GCOS.
Esempio [modifica]
Il seguente esempio è estratto da "Users' Reference to B" di Ken Thompson.
/* La seguente funzione stampa un numero non negativo, n, in base b, dove 2<=b<=10. Questa routine sfrutta il fatto che nel sistema di caratteri ASCII i codici delle cifre da O a 9 hanno valori in sequenza. */ printn(n,b) { extrn putchar; auto a; if(a=n/b) /* assegnamento, non un test di eguaglianza */ printn(a, b); /* ricorsivo */ putchar(n%b + '0'); }