Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Außerdem geben wir Informationen zu Ihrer Nutzung unserer Website an unsere Partner für soziale Medien, Werbung und Analysen weiter. Details ansehen

RSS Feed

C-Corner

Die Vorgeschichte

Einige Eigenarten von C lassen sich besser verstehen, wenn man die Entwicklungsgeschichte dieser Programmiersprache kennt. Obwohl Sie dabei nur einen Blick auf die vergangenen 30 Jahre werfen, wird Ihnen diese Zeit wie die Steinzeit des Computers vorkommen.

Gute Einführung in C: C Programmieren von Anfang an kaufen

C entstand im Zeitraum von 1969 bis 1973 bei Bell Laboratories. Dort wurde anfangs noch an einem Projekt namens Multics (Multi user control system) gearbeitet, einem Betriebssystem für, aus heutiger Sicht, mittelgroße Computer, sogenannte Minicomupter. Als erkannt wurde, daß erfolgversprechende Resultate noch lange auf sich warten lassen würden, ging eine Gruppe unter Leitung von Ken Thompson daran, eine Alternative, nämlich Unix, zu entwickeln. Als Zielmaschine stand ihnen eine DEC PDP-7 mit einem Arbeitsspeicher von 8 K 18-Bit-Wörtern (147.456 Bit!) zur Verfügung. Anfangs wurde in Assembler programmiert. Doch die meisten Entwickler kannten noch vom Multics-Projekt die Vorzüge einer höheren Programmiersprache. Dabei handelte es sich um BCPL (Basic Combined Programming Language). Es war eine Sprache für nichtnumerische Probleme, deren Anweisungen die Maschinenoperationen abstrahierten. Dadurch war es den Programmierern möglich, die Entwicklung ohne Berücksichtigung der Maschinendetails auf einem höheren Level zu betreiben. BCPL kannte jedoch keine Datentypen, sondern nur das Maschinenwort als Speicher, dessen Inhalt je nach verwendetem Operator und Funktionsaufruf anders interpretiert wurde.

Als die Entscheidung für eine eigene Programmiersprache für Unix gefallen war, entstand zunächst B, eine auf 8 K geschrumpfte Variante von BCPL. Der Name ist höchstwahrscheinlich eine Abkürzung von BCPL, obwohl es auch andere Theorien über seine Entstehung gibt. Der B-Compiler erzeugte zunächst keinen Maschinencode, sondern sogenannten threaded Code, der interpretiert wurde. Später wurde der Compiler von Dennis Ritchie dahin geändert, das er Typen verwendete und Maschinencode erzeugte. Die Sprache hieß danach zuerst NB für new B und wurde dann später in C umbenannt, dem Buchstaben, der dem B sowohl in BCPL als auch im Alphabet folgt.

Als C ausgereift war und über eine Funktionsbibliothek verfügte, wurde die Sprache 1978 von Kernighan und Ritchie veröffentlicht. Ihre daraufhin einsetzende schnelle Verbreitung verlangte nach einer Standardisierung, die dann 1989 vom ANSI-Komitee X3J11 festgelegt und 1990 von der ISO/IEC 9899-1990 übernommen wurde. Auch C hat bereits Ableger erzeugt beziehungsweise andere Sprachen beeinflußt- Dazu zählen mehr oder weniger bekannte wie Objective C, C++, Concurrent C und C*. Sprachen, wie zum Beispiel Eiffel und Modula 3, benutzen C für interne Darstellungen. Als neueste Sprache ist Java zu nennen, die unter anderem durch den C-Abkömmling C++ stark geprägt wurde.

C-Links

C-Compiler (Windows, kostenlos)
C-Forum

C-Programme von mir:

4 gewinnt
Zahlenratespiel
Emailadressen-Verwaltungsprogramm

andere C-Programme:

Portscanner

Programme dürfen gerne kopiert und umgeschrieben werden. Für Anregungen bin ich offen. Einfach unten auf Kontakt klicken.

Socials

Christian Raßmann

Newsletter

Tweets

Offline-Forms:
getweetet am 2017-08-24 um 00:09 Uhr
Just completed a 6.16 km run - Zombies, Run!
getweetet am 2017-08-21 um 08:30 Uhr
Wieder gefunden?
getweetet am 2017-08-21 um 00:00 Uhr
Ja, ich spiele es noch :D. Und grad gibts ein Gewinnspiel dazu.
getweetet am 2017-08-19 um 18:53 Uhr
RT : Explore! Be excited or exit it. -- it's all about happyness
getweetet am 2017-06-24 um 17:18 Uhr
Greetings from
getweetet am 2017-04-13 um 12:17 Uhr
Why we’re dropping Google Ads
getweetet am 2017-04-12 um 09:48 Uhr
Just completed a 6.28 km run - Zombies, Run!
getweetet am 2017-03-17 um 11:34 Uhr
RT : Lol. Perfect for the current mess. Via
getweetet am 2017-02-25 um 11:58 Uhr
How setting the TZ environment variable avoids thousands of system calls
getweetet am 2017-02-23 um 17:57 Uhr