Warum gibt's selbst im C99 Standard noch keine standardisierte Unterstützung von Threads?
-
berniebutt schrieb:
Jeder C++ Compiler schliesst doch den vollen Leistungsumfang von C problemlos ein. Warum also threads in C verlangen?
Eventuell weil manche Leute in C programmieren wollen/müssen?
-
berniebutt schrieb:
Jeder C++ Compiler schliesst doch den vollen Leistungsumfang von C problemlos ein. Warum also threads in C verlangen?
Ein C++98-Compiler (also bis vor ein paar Jahren fast alle) kennt aber keine C99-Features. C++-Threads gibt es standardisiert doch auch erst seit 2011, seither gibt es sie aber auch in C. Was willst du also überhaupt aussagen?
-
SeppJ schrieb:
... Was willst du also überhaupt aussagen?
Ungefähr dasselbe wie du. Man nimmt das, was man hat, der Chef in der Firma vorschreibt, oder der Kunde verlangt. Neue Features sind dann mit älteren Compilern nicht immer möglich und man muss ggfs. darauf verzichten. Such is programmers life!
-
Ich sehe auch nicht, warum das unbedingt standardisiert sein muß... je nach Plattform kann die Threading-Lib ja sehr unterschiedlich werden (gerade bei C mit dieser Unzahl an Plattformen). Dann kommt am Ende eine Lib raus, die auf jeder Plattform "halbwegs optimal" ist, von vielen nicht unterstützt wird, da nehme ich dann doch lieber eine Lib vom Hardwarehersteller wie Intels Cilk Plus, die läuft dann unter Win/Linux auf allen Intel+AMD-Plattformen optimal und gut ist.
-
Marc++us schrieb:
Ich sehe auch nicht, warum das unbedingt standardisiert sein muß...
Ja genau, wozu überhaupt Standards, soll doch jeder seinen eigenen Brei backen.
Marc++us schrieb:
je nach Plattform kann die Threading-Lib ja sehr unterschiedlich werden
Das mag vielleicht so sein, aber genau deshalb will man ja Interfaces definieren, die so "high-level" sind, dass die Implementierung darunter optimal auf die jeweilige Platform zugeschnitten werden kann. So unterschiedlich, dass das nicht möglich wäre, sind die Systeme nun wirklich nicht.
-
berniebutt schrieb:
Man nimmt das, was man hat, der Chef in der Firma vorschreibt, oder der Kunde verlangt. Neue Features sind dann mit älteren Compilern nicht immer möglich und man muss ggfs. darauf verzichten. Such is programmers life!
Ja, und wenn der Kunde ein C-Programm verlangt, könnte es unter umständen passieren, dass man sich wünscht, in C wären Threads standardisiert.
-
-
Ich kenne wen den du auch kennst, und der hat sich nicht mal die ersten vier Beiträge durchgelesen.
-
Dobi schrieb:
berniebutt schrieb:
Man nimmt das, was man hat, der Chef in der Firma vorschreibt, oder der Kunde verlangt. Neue Features sind dann mit älteren Compilern nicht immer möglich und man muss ggfs. darauf verzichten. Such is programmers life!
Ja, und wenn der Kunde ein C-Programm verlangt, könnte es unter umständen passieren, dass man sich wünscht, in C wären Threads standardisiert.
In der Realität ist es aber so, dass der Hochqualitätscompiler aus dem Hause Microsoft weder C99 noch C11 unterstützt. Wenn man das dem Kunden sagt, glaubst du der besteht dann immernoch auf die standardisierte Variante? Oder ganz kurz formuliert: Was bringt ein Standard wenn er von Branchengrößen ignoriert wird?
-
Eventuell gibt es ja Kunden, die kein Windows-Programm haben wollen. Mir gings ja nur darum, ein Beispiel dafür zu geben, wann man sich vielleicht über die Threads aus C11 freuen würde. Ganz unwahrscheinlich scheint sowas ja nicht zu sein, denn sonst wären Threads ja auch kaum seit C99 aufgenommen worden.