Programmiersprachen und Betriebssysteme
-
Mich würde mal interessieren, ob Programmiersprachen unter verschiedenen Betriebssystemen verschieden häufig eingesetzt werden. Mir geht es dabei primär nur um GUI-freie Anwendungen.
Zum Beispiel sind die meisten UNIX Daemonen/Server/Netzwerk-Tools etc. in C geschrieben. Woher kommt das, dass zum Beispiel vom Apache, Bind über Samba und Subversion bis hin zum X alles in C entwickelt ist? Es sind ja nicht alles "alte" Projekte. Es werden auch durchaus viele neue Tools, gerade im Netzwerk und Security Bereich, in C geschrieben.
Unter Windows kann ich das nicht beurteilen, da ich kaum Anwendungen aus dem Daemonen/Server/Netzwerk-Tools Bereich kenne, welche nicht von UNIX nach Win portiert wurden.
Ich würde in diesem Thread mal ganz gern Eure Meinungen zu dem genannten Thema hören.
-
Unter Unix ist C einfach weit verbreitet, da es für jedes Unix einen C Compiler gibt (Unix wurde ja schließlich selbst in C programmiert) und auch die System API in C spezifiziert wurde (POSIX, SUS etc.)
Aber es gibt auch sehr viele Programme in Perl, Shellskripten oä. Wo Performance kritisch ist, haben die Leute eben C eingesetzt.
Und da Unix Leute leider alle konservativ sind, werden die wohl auch in 100 Jahren noch mit C programmieren, außer hier und da mal ein Shell- oder Perlskript
Aber mittlerweile sind unter Unix Systemen auch andere Programmiersprachen verbreitet. KDE basiert auf "C++" und GNOME richtet sich immer stärker an Mono (.NET) aus. Auch Python und Ruby werden populärer. Aber einem wahren UNIX-Hacker würde wohl eher die Handabfaulen, als das er etwas anderes als C, SH und Perl nimmt
-
Besten Dank für Deine Meinung dazu.
kingruedi schrieb:
Unter Unix ist C einfach weit verbreitet, da es für jedes Unix einen C Compiler gibt (Unix wurde ja schließlich selbst in C programmiert) und auch die System API in C spezifiziert wurde (POSIX, SUS etc.)
Wurde nicht sogar C entwickelt um UNIX Anfang 1970 neu zu schreiben?
-
<Wurde nicht sogar C entwickelt um UNIX Anfang 1970 neu zu schreiben?>
Stimmt genau. C ist die Weiterentwicklung von B, einer typfreien Sprache, die
auf dem noch älteren BCPL basiert.
Die Sprache B war wohl ursprünglich auf einer PDP-7 mit 8K Ram programmiert
worden, später dann auf PDP-11 portiert; Ziel war, wie Du selbst schreibst,
eine Programmiersprache zu schaffen, mit der man Systemsoftware wie U**X
unter Berücksichtigung der äußerst knappen Resourcen (wenige K RAM, Taktfrequenzen
im einstelligen MHz-Bereich)
programmieren konnte, nachdem die Beteiligung an der Programmierung des
Betriebssystems M*lt*cs in der Sprache PL/I beendet wurde.Die ersten Versionen von U**X waren noch im Assembler der jeweiligen
Maschine (PDP-7, PDP-8 wohl) geschrieben, bald wurde aber nach B und C portiert
(bis auf maschinenabhängige Teile).
-
auf den meisten embedded systemen und dsps wird mit c und auf den neueren mit c++ entwickelt