<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://demowiki.knowlus.com/index.php?action=history&amp;feed=atom&amp;title=B_%28Programmiersprache%29</id>
	<title>B (Programmiersprache) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://demowiki.knowlus.com/index.php?action=history&amp;feed=atom&amp;title=B_%28Programmiersprache%29"/>
	<link rel="alternate" type="text/html" href="https://demowiki.knowlus.com/index.php?title=B_(Programmiersprache)&amp;action=history"/>
	<updated>2026-05-15T01:51:15Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Demo Wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://demowiki.knowlus.com/index.php?title=B_(Programmiersprache)&amp;diff=543&amp;oldid=prev</id>
		<title>imported&gt;Wurgl: Die letzte Textänderung von 217.87.91.17 wurde verworfen und die Version 225369848 von 2A02:908:A67:1C00:BAA0:EEC:14DD:891A wiederhergestellt. Nicht hilfreich</title>
		<link rel="alternate" type="text/html" href="https://demowiki.knowlus.com/index.php?title=B_(Programmiersprache)&amp;diff=543&amp;oldid=prev"/>
		<updated>2023-08-28T07:58:57Z</updated>

		<summary type="html">&lt;p&gt;Die letzte Textänderung von &lt;a href=&quot;/index.php?title=Spezial:Beitr%C3%A4ge/217.87.91.17&quot; title=&quot;Spezial:Beiträge/217.87.91.17&quot;&gt;217.87.91.17&lt;/a&gt; wurde verworfen und die Version &lt;a href=&quot;/index.php?title=Spezial:Permanenter_Link/225369848&quot; title=&quot;Spezial:Permanenter Link/225369848&quot;&gt;225369848&lt;/a&gt; von 2A02:908:A67:1C00:BAA0:EEC:14DD:891A wiederhergestellt. Nicht hilfreich&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox Programmiersprache&lt;br /&gt;
|Name = B&lt;br /&gt;
|Paradigma = [[Imperative Programmierung|imperativ]], [[Strukturierte Programmierung|strukturiert]]&lt;br /&gt;
|Erscheinungsjahr = 1969&lt;br /&gt;
|Entwickler = [[Ken Thompson]], [[Dennis Ritchie]]&lt;br /&gt;
|Typisierung = typenlos (alles ist ein [[Datenwort]])&lt;br /&gt;
|Implementierung =&lt;br /&gt;
|Dialekte =&lt;br /&gt;
|Beeinflusst_von = [[Basic Combined Programming Language|BCPL]], [[PL/I]]&lt;br /&gt;
|Beeinflusste = [[C (Programmiersprache)|C]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Die Programmiersprache &amp;#039;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;#039; wurde [[1969]] von [[Ken Thompson]] und [[Dennis Ritchie]] entwickelt.&lt;br /&gt;
B ist stark beeinflusst von [[Basic Combined Programming Language|BCPL]] und ist Vorgänger der [[C (Programmiersprache)|Programmiersprache C]].&lt;br /&gt;
&lt;br /&gt;
B ist vor allem aus sprachhistorischen Gründen interessant, da es die Entwicklung von BCPL zu C genauer dokumentiert. Es wurde für die [[Kompilierung|Übersetzung]] auf einer [[Digital Equipment Corporation|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.&lt;br /&gt;
&lt;br /&gt;
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 [[Funktion (Programmierung)|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.&amp;lt;ref&amp;gt;D. Ritchie, [http://sites.harvard.edu/~lib113/reference/c/c_history.html The Development of the C Language] in History of Programming Languages, ACM Press and Addison-Wesley, 1996, ISBN 0-201-89502-1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In B gab es wie in BCPL oder [[Forth (Informatik)|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-[[Compiler]]n übersetzbar.&lt;br /&gt;
&lt;br /&gt;
Bei B wurde der Zuweisungsoperator wieder zu &amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt; wie in [[Heinz Rutishauser]]s ursprünglicher Sprache [[Superplan]], welche [[Algol 58]] beeinflusst hatte, wobei Algol 58 mit &amp;lt;code&amp;gt;:=&amp;lt;/code&amp;gt; einen Doppelpunkt hinzufügte.&lt;br /&gt;
&lt;br /&gt;
== Code-Beispiel ==&lt;br /&gt;
Nachfolgend ein Beispiel aus dem B-Benutzerhandbuch:&amp;lt;ref&amp;gt;{{Literatur |Autor=[[Ken Thompson]] |Titel=Users&amp;#039; Reference to B |Hrsg=[[Bell Telephone Laboratories]] |Datum=1972-01-07 |Sprache=en |Kapitel=Kapitel 9.1 |Seiten=21 |Online=https://www.bell-labs.com/usr/dmr/www/kbman.pdf#page=23 |Format=PDF}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/* The following function will print a non-negative number, n, to&lt;br /&gt;
   the base b, where 2&amp;lt;=b&amp;lt;=10.  This routine uses the fact that&lt;br /&gt;
   in the ASCII character set, the digits 0 to 9 have sequential&lt;br /&gt;
   code values.  */&lt;br /&gt;
&lt;br /&gt;
printn(n,b) {&lt;br /&gt;
   extrn putchar;&lt;br /&gt;
   auto a;&lt;br /&gt;
&lt;br /&gt;
   if(a=n/b) /* assignment, not test for equality */&lt;br /&gt;
      printn(a, b); /* recursive */&lt;br /&gt;
   putchar(n%b + &amp;#039;0&amp;#039;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://www.bell-labs.com/usr/dmr/www/kbman.html Die originale Sprachspezifikation] (auch als [https://www.bell-labs.com/usr/dmr/www/kbman.pdf PDF]) (englisch)&lt;br /&gt;
* [https://www.bell-labs.com/usr/dmr/www/btut.html bell-labs.com B-Tutorial] (englisch)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmiersprache]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Wurgl</name></author>
	</entry>
</feed>