Zum Inhalt springen

B (Programmiersprache)

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 17. April 2026 um 17:10 Uhr durch imported>Wurgl (+Normdaten).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
B
[[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)|150px]]
Basisdaten
Paradigmen: imperativ, strukturiert
Erscheinungsjahr: 1969
Designer: Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Entwickler: Ken Thompson, Dennis Ritchie
Aktuelle Version Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) (Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Typisierung: typenlos (alles ist ein Datenwort)
Beeinflusst von: BCPL, PL/I
Beeinflusste: C
Betriebssystem: Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Lizenz: Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)

Die Programmiersprache B wurde 1969 von Ken Thompson und Dennis Ritchie entwickelt. B ist stark beeinflusst von BCPL und ist Vorgänger der Programmiersprache C.

B ist vor allem aus sprachhistorischen Gründen interessant, da es die Entwicklung von BCPL zu C genauer dokumentiert. Es wurde für die Übersetzung auf einer DEC PDP-7 mit 8 kB RAM entwickelt. Später wurde es auf PDP-11-Maschinen und Honeywell-Großrechner portiert, wo es zum Beispiel für das bekannte AberMUD von Alan Cox bis in die 1990er-Jahre benutzt wurde.

Aufgrund der eingeschränkten Hardware-Ressourcen auf der Zielmaschine PDP-7 fehlen B einige BCPL-Merkmale, die die Übersetzung aufwendiger machen würden. Beispielsweise sind keine verschachtelten Funktionsdefinitionen möglich. Ebenso wegen der eingeschränkten Ressourcen erzeugte der B-Compiler auf der PDP-7 einen einfachen Zwischencode, der von einem Interpreter zur Laufzeit interpretiert werden muss.<ref>D. Ritchie, The Development of the C Language in History of Programming Languages, ACM Press and Addison-Wesley, 1996, ISBN 0-201-89502-1</ref>

In B gab es wie in BCPL oder Forth nur einen Datentyp, dessen Bedeutung sich erst durch die benutzten Operatoren und Funktionen ergab. B ist also typlos. Es gab bereits viele Spracheigenschaften, die man in C finden kann. Einige Programme sind noch mit heutigen C-Compilern übersetzbar.

Bei B wurde der Zuweisungsoperator wieder zu = wie in Heinz Rutishausers ursprünglicher Sprache Superplan, welche Algol 58 beeinflusst hatte, wobei Algol 58 mit := einen Doppelpunkt hinzufügte.

Code-Beispiel

Nachfolgend ein Beispiel aus dem B-Benutzerhandbuch:<ref></ref> <syntaxhighlight lang="c"> /* The following function will print a non-negative number, n, to

  the base b, where 2<=b<=10.  This routine uses the fact that
  in the ASCII character set, the digits 0 to 9 have sequential
  code values.  */

printn(n,b) {

  extrn putchar;
  auto a;
  if(a=n/b) /* assignment, not test for equality */
     printn(a, b); /* recursive */
  putchar(n%b + '0');

} </syntaxhighlight>

Einzelnachweise

<references/>

Weblinks

Vorlage:Hinweisbaustein