![]() |
Programmieren in Cvon Prof. Dr. Rainer Thomas |
1.1 Entwicklung der Programmiersprache C
Viele Jahre war C eng mit UNIX verbunden
In der Folgezeit Ablösung von UNIX.
Vorläufer
(Combined Programming Language)
Erster Versuch der Synthese zwischen problemorientierter höherer Programmiersprache (ALGOL !) und maschinennaher Programmiersprache;
zu komplex, schwierig zu erlernen und zu implementieren
(Basic Combined Programming Language) Martin Richards
Beschränkung auf die wesentlichen Eigenschaften von CPL, auch heute noch verwendet (Entwicklung von Betriebssystemen und Compilern)
Ken Thompson, Bell Labs
Weitere Vereinfachung von CPL, Implementierung von UNIX auf DEC PDP-7;
Hauptmangel : zu wenig allgemein, zu beschränkte Anwendungs- möglichkeiten (z.B. keine Datentypen außer Maschinenwort)
Programmiersprache C
Dennis M. Ritchie, Bell Labs
Implementierung von UNIX auf DEC PDP-11
Brian W. Kernighan, Bell Labs
Kernigham/Ritchie "The C Programming Language", Prentice Hall
(mit "C Reference Manual"),
De-facto-Standard (--> KuR-C)
(von ca 13 000 Programmzeilen des damaligen UNIX-Systems
waren nur ca 800 in Assembler geschrieben, der Rest in C,
auch nahezu alle UNIX-Dienstprogramme sind in C geschrieben)
--> hohe Portabiltät von UNIX.
Heute existieren C-Compiler für nahezu jedes Betriebssystem
Problem : schwindende Portabiltät von C infolge zunehmender
Dialektbildung.
(American National Standards Institute) ANSI Technical Committee X3J11
(einschließlich Standard-C-Bibliothek)
--> ANSI-C (einschließlich Standard-C-Bibliothek)
(International Standards Organisation)
ISO-Standard ISO 9899:1990
--> ANSI/ISO-C (Standard-C)
(Amendment 1 to Standard 9899:1990)
1.2 Prinzipielle Eigenschaften von C
Die Sprache enthält sowohl alle notwendigen Sprachkonstrukte einer höheren Programmiersprache, als auch Elemente, die sehr maschinennahe Operationen ermöglichen :
Grundphilosophie : Programmers know what they are doing
Zum Inhaltsverzeichnis |
Zum nächsten Abschnitt |