Gibt es ein Unix OS, daß in C++ programmiert wurde?
-
Artchi schrieb:
Was macht denn ein Unix aus, das es darum geht, das es ein Unix in C++ sein muß?
Als erstes würde mir da einfallen, dass es eine "Unix-like"-Umgebung bereitstellt, also sich im großen und ganzen an POSIX orientiert. Dazu gehört eine Bourne-kompatible Shell, die restlichen Unix-Tools, aber auch die entsprechenden, von POSIX spezifizierten, APIs.
-
Horst Hannelore Hansen schrieb:
Artchi schrieb:
Was macht denn ein Unix aus, das es darum geht, das es ein Unix in C++ sein muß?
Als erstes würde mir da einfallen, dass es eine "Unix-like"-Umgebung bereitstellt, also sich im großen und ganzen an POSIX orientiert. Dazu gehört eine Bourne-kompatible Shell, die restlichen Unix-Tools, aber auch die entsprechenden, von POSIX spezifizierten, APIs.
OK, das kann ich auch in jedem anderen OS haben, selbst unter NT gibts das alles.
Also, so richtig überzeugt mich das nicht damit die Fragestellung einen Sinn macht. Schließlich ziehlt die Ursprungsfrage darauf ab, das es in C++ nicht oder schlechter geht, als in C. (kenne genug solcher Behauptungen)
-
Steffo schrieb:
Hm, ich würde sagen als OS-Developer kann man den Code leichter warten.
Als C++ Programmierer, der von der API Gebrauch macht, ist es natürlich komfortabler eine OO-API zu benutzen.So war die Frage nicht gemeint.
Die Vorzüge von C++ kenne ich. Mir ging es um den Unix-Part der Ursprungsfrage, warum er fragt, ob es ein Unix in C++ gibt. Meine Frage: was macht ein Unix aus, das es für die Fragestellung relevant ist?
Weil man könnte auch fragen, ob es ein OS gibt, das in C++ implementiert ist? Unix hin oder her... ist doch für C oder C++ irrelevant.
-
Artchi schrieb:
Meine Frage: was macht ein Unix aus, das es für die Fragestellung relevant ist?
Unix ist das OS, an dem C erprobt wurde.
-
Ist C nicht erst dadurch entstanden weil man einen portablen Assembler brauchte um Unix auch auf andere Architekturen zu verbreiten? Ich meine daher ist es historisch verbunden und weniger weil es auch anders ginge.
Vielleicht macht OOP auch nicht so viel Sinn bei einem OS-Kernel, sondern mehr bei der Anwendungsentwicklung?
-
Das erste Unix war in Assembler programmiert, richtig. Es wurde dann in C neu implementiert, weil C nunmal der bessere und portablere Assembler ist.
Und warum sollte es keinen Sinn machen, auch einen Kernel in C++ zu programmieren? In der Kernel-Programmierung tauchen die gleichen Wartungsfragen auf, wie in der Anwendungsprogrammierung. Und der Wechsel in Unix von Assembler nach C hat schon aufgezeigt, das eine abstraktere Sprache Vorteile bringt, solange man auch Lowlevel Code mit einbringen kann. Genau das macht C++: du kannst viel abstrahieren, dadurch den Code wartbarer, weniger fehleranfällig halten, und schneller zum Ziel kommen. Aber du kannst in C++ genauso wie in C auch Lowlevrel Code programmieren, diesen aber noch einfacher verstecken (private-Keyword).
-
Und was ist mit den Funktionseinstiegspunkten beim Binärcode?
In C sind die gut definiert und daher für alle programmiersprachen nutzbar.
In C++ sind die sogar Compilerabhängig!
-
Oh man jedes Kiddy weiß das C++ besser als C ist. Über sowas braucht man nicht zu diskutieren.
-
shocked schrieb:
Und was ist mit den Funktionseinstiegspunkten beim Binärcode?
In C sind die gut definiert und daher für alle programmiersprachen nutzbar.
In C++ sind die sogar Compilerabhängig!Auf 64bit Architekturen Geschichte. Da brät nur noch M$ ne Extrawurst.
-
[quote="Artchi"]Das erste Unix war in Assembler programmiert, richtig. Es wurde dann in C neu implementiert, weil C nunmal der bessere und portablere Assembler ist.
[quote]
Mir war so das Multix aus Assembler und Pascal gebaut war und UNICS / UNIX und C zusammen entwickelt wurden wegen der Portabilität.
@Topic
Ein UNIX kann aber nicht in C++ geschrieben sein, dann wäre es ja kein UNIX. Es gibt nur ein UNIX von At&T und davon die X86 Portierung von MS auf die System V, Solaris und noch ein paar andere aufbauen.
-
Mir war so das Multix aus Assembler und Pascal gebaut war
verwechselst du mit PL/1