CHAPTER 1
It is important to familiarize
yourself with the fundamentals of computer programming, computer languages, and
their evolution. It may not be apparent to you at this time how this knowledge
is going to help you to program in C/C++. It should, however, be noted that
within the past fifty years, a multitude of programming concepts and methods has
been introduced, and many different languages have been designed. Yet, they all
still depend on a foundation that has remained relatively the same.
In this chapter, you are going
to encounter unfamiliar terminology. What I would like you to do is to skim
through this chapter and grasp as much as you can, without attempting to
understand everything fully. By examining the history of computer programming,
it is hoped that you will be able to better understand the way programming and
languages are shaped, and have an idea as to what to expect for the future of
computer programming and languages.
In order to give you a picture of computer programming and its
abilities, I will introduce you to a very important program that is known as a search,
written in both C and C++. You will then experience what I call the magic of
programming, where the knowledge of building one program will lead you to build
other programs without much effort. For example, you will see how a Telephone
Operator Search Program can also act as a language translator, a dictionary,
and can also easily become a bank or supermarket retrieval system.
I will conclude the chapter by
giving examples of pitfalls in C/C++ programming that may cause misconceptions
and delay learning. These pitfalls, which are the result of hidden notions and
unknown rules, are contributing factors to what I call the mystery of C/C++ programming. You should be aware that the problems
these pitfalls cause have nothing to do with your intelligence, and that you
will learn to solve them.
By going through the foundations
of programming and languages you will find it easier to build programs from
scratch using C/C++ in the chapters that follow.