
10 Chapter 1: Introduction
Other Embedded Languages
Of course, C is not the only language used by embedded programmers. At least
three other languages—assembly, C++, and Ada—are worth mentioning in greater
detail.
In the early days, embedded software was written exclusively in the assembly lan-
guage of the target processor. This gave programmers complete control of the pro-
cessor and other hardware, but at a price. Assembly languages have many disad-
vantages, not the least of which are higher software development costs and a lack
of code portability. In addition, finding skilled assembly programmers has become
much more difficult in recent years. Assembly is now used primarily as an adjunct
to the high-level language, usually only for those small pieces of code that must
be extremely efficient or ultra-compact, or cannot be written in any other way.
C++ is an object-oriented superset of C that is increasingly popular among embed-
ded programmers. All of the core language features are the same as C, but C++
adds new functionality for better data abstraction and a more object-oriented style
of programming. These new features are very helpful to software developers, but
some of them do reduce the efficiency of the executable program. So C++ tends to
be most popular with large development teams, where the benefits to developers
outweigh the loss of program efficiency.
Ada is also an object-oriented ...