B on aluksi Ken Thompsonin ja myöhemmin Dennis Ritchien kehittämä BCPL-kieleen perustuva järjestelmäohjelmointikieli. Kieli on kehitetty Bell Labsissa noin vuonna 1969 PDP-7:lle.
Kielellä oli osuus C-kielen suorana edeltäjänä ja Unix-käyttöjärjestelmän kehityksessä. Kieli on käännettävä kieli ilman tyyppijärjestelmää. B-kielen kehityksessä Thompson tuskaili muistimäärän rajoitteiden kanssa kirjoittaessan B:n uudestaan. Jokaisen ominaisuuden lisäys kieleen kasvatti kääntäjän kokoa, mutta uuden ominaisuuden käyttö toteutuksessa vähensi sen muistitarvetta. Kieleen lisättiin muun muassa =+ -operaattori Algol 68:n mukaan (myöhemmin += C-kielessä), sekä ++ ja -- -operaattorit. PDP-7 oli vielä liian rajoittunut kielen laajamittaiseen käyttöön. Ritchie lisäsi ristiinkääntäjän GE-635 -koneen konekieleen: kääntäjä tuotti 36-bittiselle suurtietokoneelle koodia 18-bittisellä koneella ajettaessa. Kun Unix-projekti sai käyttöönsä PDP-11-koneen kielen rajoitteet tulivat ilmeisiksi ja Ritchie kehitti laajennetun kielen NB ("new B"), joka johti C-kieleen.
Kielessä on jo useita C-kieleen päätyneitä konsepteja ja ominaisuuksia kuten lvalue ja rvalue (nk. oikea ja vasen arvo), aaltosulkujen käyttö ohjelmalohkoissa ja unary toiminnot.
Esimerkki Esimerkki B-kielen ohjelmasta: main( ) { auto a, b, c, sum;
a = 1; b = 2; c = 3; sum = a+b+c; putnumb(sum); }
Lähteet
Aiheesta muualla Users' Reference to B (PDF)
Luokka:Ohjelmointikielet Luokka:Bell Labs