Frage

Fast jeder (relativ) neues Buch über C-Programmierung ich gesehen habe, scheint nicht an den C99-Standard zu halten, oder sie decken sie in einem extra Kapitel. Kommend von einem Java-Hintergrund hat der C99-Standard die Migration (na ja, noch die Migration ^^) viel einfacher für mich, und das trifft wahrscheinlich auch auf andere Sprachen auch.

Es scheint, wie C99 noch nicht die meisten der C-Entwickler erreicht. Aber warum?

War es hilfreich?

Lösung

Kurze Antwort:. Compiler-Unterstützung ist langsam erhalten installiert und C-Programmierer sind eine konservative Menge, die langsam ihr Verhalten zu ändern

Andere Tipps

Ich vermute stark, es ist vor allem, weil MSVC nicht versucht, C99 zu unterstützen, und sehr wahrscheinlich auch nie tun. Es gibt ein paar Embedded-Compiler im selben Boot, aber sie sind kaum verbreitet genug, um viel individuell an der Materie. AFAIK alle anderen ist zumindest versuchen, C99, so viel wie möglich umzusetzen.

Es gibt nicht viel Grund in der Praxis nicht ausgewählte Funktionen von C99 zu verwenden, aber wenn du gehst zu einem C-Standard zu lernen und zu schreiben, und nur eine, dann muss es C89 sein.

Darüber hinaus ist es wahrscheinlich ziemlich schwierig und verwirrend einen einleitenden C Text zu schreiben, die mit den Worten beginnen: „OK, gibt es zwei verschiedene Standards, und ich werde drei verschiedene Farben von Text verwenden: einen für C89, einen für C99 und eine für beide“. Es ist auch wahrscheinlich schwieriger zu schreiben über C99 für ein ganzes Buch, und dann „zurücknehmen“ eine Menge von dem, was Sie in einem Anhang über C89 gesagt haben, als es um C89 zu schreiben ist, und dann, um es in einem Anhang über C99 hinzufügen .

Alle Spekulationen, though. Wirklich würden Sie die Autoren der Bücher fragen müssen Sie lesen (oder vielleicht in einigen Fällen gehen gegen alle Programmier Instinkte und lesen das Vorwort ; -))

Das Risiko eines auf einer bestehende Code-Basis zu einem neuen Compiler Schalt ist in der Regel unbekannt, aber es kann sehr schmerzhaft sein, seine weiseste nur Schalter, wenn Sie Monate Zeit haben, alle Fehler / Änderungen zu schütteln. Und für wirklich alte Codebasen, manchmal nur wechselt Es ist weiseste nie überhaupt.

mag ich Wette bereit sein, dass die Mehrheit der Projekte, die C verwenden, ist nicht bereit, überhaupt zu C99 zu wechseln, da dort kaum irgendeine Kopf für eine große bestehende Code-Basis und ziemlich viel Potential Nachteil. Ich arbeitete an einem großen Softwarehaus, das die Compiler in th Quellbaum rechts an der Seite den Code überprüft und würde nie Schalter Compiler für ein Produkt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top