1.3 Programming in C and C++
C and C++ are languages that allow direct access to the computer's
memory. Historically, they have been used for writing low-level systems
software, and applications where high-performance or control over
resource usage are critical. However, great care is required to ensure
that memory is accessed correctly, to avoid corrupting other
data-structures. This book describes techniques that will help in
detecting potential errors during compilation, but the risk in using
languages like C or C++ can never be eliminated.
In addition to C and C++ the GNU Project also provides other high-level
languages, such as GNU Common Lisp (gcl
), GNU Smalltalk
(gst
), the GNU Scheme extension language (guile
) and the
GNU Compiler for Java (gcj
). These languages do not allow the
user to access memory directly, eliminating the possibility of memory
access errors. They are a safer alternative to C and C++ for many
applications.