At Tue, 26 May 2020 23:48:43 +0200, "Thomas Paulsen"
Subject: Re: [TUHS] History of popularity of C
they don't play any role, as the C language was defined decades ago. I learned it
before the ansi committee came to an end by Turbo C and soon later MS C, and then
various *NIX compilers. Recently I written a couple of linux programs using gcc
with exactly the same syntax I studied 30 years ago, and it works pretty cool. All
these programs are error free performing very fast while having a small memory
footprint. For me there is nothing better than C, and I know a lot of languages.
You might be surprised by just how much C has been changed since, say,
C89, or even C90, and how niggly the corner cases can get (i.e. where UB
sticks its ugly head). Lots of legacy code is now completely broken, at
least with the very latest compilers (especially LLVM, but also GCC).
Some far more recently written code has even had important security
problems, e.g. one in the Linux kernel. NetBSD has to turn off specific
"features" in the newest compilers when building the kernel lest they
create a broken and/or insecure system. Some code no longer does what
it seems to do unless you're the most careful language lawyer at reading
it, Standard in hand, and with years of experience. Some compilers can
help, e.g. by inserting illegal instructions anywhere where UB would
have otherwise allowed the optimizer to go wild and possibly change
things completely, but without such tools, and others such as Valgrind,
one can get into a heap-o-trouble with the slightest misstep; and of
course these tools only work for user-land code, not bare-metal code
such as embedded systems and kernels.
Greg A. Woods <gwoods(a)acm.org>
Kelowna, BC +1 250 762-7675 RoboHack <woods(a)robohack.ca>
Planix, Inc. <woods(a)planix.com> Avoncote Farms <woods(a)avoncote.ca>