GCC 16.1.0 und Modules
-
@john-0 sagte in GCC 16.1.0 und Modules:
Sehr schön das zu hören, da kann man nun endlich Module sinnvoller anfangen einzusetzen. In der ersten Version war das so buggy, dass es bei allen was mehr als ein Trivialprogramm war den Compiler zum Absturz brachte.
Das ist vor allem überraschend, wenn man sich die ausgiebigen Tests ansieht, die zu so einem Release gehören. Ich habe allerdings den Verdacht, dass die ein wenig in einer Compilerentwickler-Blase festsitzen, was die Testfälle angeht. Da wird auf die obskursten Sonderfälle des C++-Standards mit den verrücktesten Konstrukten getestet, aber die ganz banale Verwendung in Programmen durch Normalsterbliche fällt häufiger mal unter den Tisch.
Ich war auch überrascht, wie schnell GCC da die Flügel gestreckt hat, das ist nun wirklich nichts exotisches. Man muss allerdings auch sagen, dass z.B. an Reflection und Modulen sehr unterschiedliche Teams arbeiten und die vielleicht ihr eigenes Feature in Isolation ausgiebig testen, aber weniger, wie die miteinander interagieren. Da braucht es vielleicht mehr Leute, die so neue Features auch mal mit bodenständigeren Projekten und kombiniert ausprobieren anstatt lediglich akademische, an Standardkonformität orientiere Testfälle durchzuspielen.
Das ist aber auch bei weitem nicht die einzige Software, wo scheinbar triviale Anwendungsfälle vor die Wand laufen. Ich habe das Problem ziemlich häufig - diese "Entwickler-Blase" ist wahrscheinlich verbreiteter als man denkt

-
@Finnegan sagte in GCC 16.1.0 und Modules:
Ich war auch überrascht, wie schnell GCC da die Flügel gestreckt hat, das ist nun wirklich nichts exotisches. Man muss allerdings auch sagen, dass z.B. an Reflection und Modulen sehr unterschiedliche Teams arbeiten und die vielleicht ihr eigenes Feature in Isolation ausgiebig testen, aber weniger, wie die miteinander interagieren.
Module sind etwas, was ich für so elementar halte, dass ich nicht nachvollziehen kann, dass man ein Feature was nach den Modulen in die Sprache Einzug hielt nicht ausgiebig damit testet. Weshalb soll man ich noch das
#include <meta>antun, wenn es dasimport std;bzw.import std.compat;gibt? Manchmal habe ich den Eindruck, dass man sich zu sehr aufs Testing von Belanglosigkeiten verlässt, anstatt richtige Tests zu machen. Test coverage wird dann mit Fehlerfreiheit verwechselt.