B | |
---|---|
Nyelvóra | eljárási |
A végrehajtás típusa | értelmezni |
Megjelent | 1969 |
Szerző | Ken Thompson , Denis Ritchie : Bell Labs |
Típusrendszer | statikus |
Dialektusok | belső szabvány |
Befolyásolva | BCPL |
befolyásolta | C |
A Bee (az angol ábécé második betűje a B ) egy értelmezett programozási nyelv, amelyet az AT&T Bell Telephone Laboratories fejlesztett ki . A BCPL nyelv leszármazottja és a C közvetlen elődje . A Bee elsősorban Ken Thompson munkája volt Dennis Ritchie közreműködésével, és 1969 -ben jelent meg .
A B nyelvet erősen befolyásolta a BCPL, és a neve valószínűleg a BCPL rövidítése. Az is lehetséges, hogy a neve a Bon nyelvből származik , amely egy korábbi, de a B-vel nem rokon, és meglehetősen eltérő programozási nyelv, amelyet Thompson a Multics számára fejlesztett ki . Ez utóbbi neve pedig Thompson feleségének Bonnie nevéből vagy a régi tibeti vallás Bon nevéből származik [1] .
A B nyelvet rekurzív , nem numerikus, gépfüggetlen alkalmazásokhoz, például operációs rendszer szoftverekhez és programozási nyelvekhez tervezték . [2] Ez egy típus nélküli nyelv volt, egyetlen adattípussal, amely az alapul szolgáló gép természetes memóriaszó- formátuma volt , bármi legyen is az. A szövegkörnyezettől függően a szót egész számként vagy memóriacímként kezeltük .
Mivel az ASCII karakterfeldolgozó gépek már megszokottak voltak, különösen a Bell által kapott DEC PDP-11 , ezért fontossá vált a szavakban elhelyezett karakteradatok támogatása. A B nyelv típusolatlanságát hibaként jegyezték meg, ami arra késztette Thompsont és Ritchie-t, hogy kidolgozzák a nyelv kibővített változatát, amely új belső és felhasználó által definiált adattípusokat támogat , és ez lett a C (C) programozási nyelv .
A következő példa Ken Thompson B-re vonatkozó felhasználói hivatkozásából származik:
/* A következő függvény egy nem negatív n számot ír ki a b bázisra, ahol 2<=b<=10. Ez a rutin azt a tényt használja fel, hogy az ASCII-karakterkészletben a 0-tól 9-ig terjedő számjegyek szekvenciális kódértékekkel rendelkeznek. */ printn ( n , b ) { extrn putchar ; auto a ; ha ( a = n / b ) /* hozzárendelés, nem egyenlőség teszt */ printn ( a , b ); /* rekurzív */ putchar ( n % b + '0' ); }
Programozási nyelvek | |
---|---|
|
Ken Thompson | |
---|---|
Operációs rendszer | |
Programozási nyelvek | |
Szoftver |
|
Egyéb |