The world of C is quite large,
Yet you seem to have an extremely narrow view of it. Quite
a contradiction.
and I work in commercial software development
So do a large number people, with widely varying degrees of success.
and it is doubtful that many here do.
You really are delusional if you think that is the case.
Their tendencies seem to skew them toward rejecting that world.
How so?
Consider that it is extremely difficult to develop large scale
programs that remain entirely within the ISO C sandbox. That is
true in general. Exceptions probably exist. That isn't the point.
Accepting that to be the case, it is still possible to construct
such programs in a fashion where the bulk of the code is portable
and isolate that platform- and compiler-dependent portions into
separate modules and mark them clearly as such.
I have certainly found this to be a very useful tactic on large
development efforts. It isn't particularly difficult, it allows
for other portable modules to be re-used without having to
"factor out" the platform-specific garbage and porting times can
be extremely short, in some cases hours or even minutes.
This group is basically focused on how to best develop code that
fits the ~95% portion of such programs that are inherently portable
and minimizing the amount of code which needs to be handled in a
non-standard way (and which is discussed elsewhere, where it is
more appropriate).
As a concrete example, I have developed and actively maintain a
particular suite of software tools and applications that must
execute properly on Win/95, Win/98, Win/ME, NT4, W2K, Win/XP (all
32-bit), Win64 (AMD and Itanium), RedHat, SuSE, Caldera, TurboLinux,
Mandrake, etc. of various releases back several years on 32-bit and
64-bit hardware platforms, along with several different proprietary
UNIX platforms as well as Novell NetWare 5.1, 6.0 and 6.5.
That is done with a code base that is 95% or more straight ISO C
with a few platform specific modules that allow the bulk of the
other code to operate as if only one architecture was supported. It
did take a lot of work, ONE TIME, to get the structure for that
working properly. The ports to a new environment are usually
quite easy, although it didn't appear easy when I first started
the project.
Not every source file will compile in strictly conforming mode,
but the vast majority of them do, and they don't need ANY
modifications when moving to a new platform.
I don't think that is particularly magic, as I'm quite sure a
large number of the regulars here do the same kind of thing on
a regular basis. The point is, they don't feel compelled to
confuse the waters with the "tricky bits" that aren't part of
the standard as those portions are better dealt with in a
newsgroup focused on the particular extension in question.