
C: The Least Common Denominator 9
C: The Least Common Denominator
One of the few constants across all these systems is the use of the C programming
language. More than any other, C has become the language of embedded pro-
grammers. This has not always been the case, and it will not continue to be so for-
ever. However, at this time, C is the closest thing there is to a standard in the
embedded world. In this section I’ll explain why C has become so popular and
why I have chosen it and its descendent C++ as the primary languages of this
book.
Because successful software development is so frequently about selecting the best
language for a given project, it is surprising to find that one language has proven
itself appropriate for both 8-bit and 64-bit processors; in systems with bytes, kilo-
bytes, and megabytes of memory; and for development teams that consist of from
one to a dozen or more people. Yet this is precisely the range of projects in which
C has thrived.
Of course, C is not without advantages. It is small and fairly simple to learn, com-
pilers are available for almost every processor in use today, and there is a very large
body of experienced C programmers. In addition, C has the benefit of processor-
independence, which allows programmers to concentrate on algorithms and appli-
cations, rather than on the details of a particular processor architecture. However,
many of these advantages ...