|

The
Accredited Standards Committee, operating under
the procedures of the American National Standards
Institute (ANSI), is working to create an international
standard for C++.
The
ANSI standard is an attempt to ensure that C++ is
portable—that code you write for Microsoft’s compiler
will compile without errors, using a compiler from
any other vendor. Further, because the code in this
book is ANSI compliant, it should compile without
errors on a Mac, a Windows box, or an Alpha.
For
most students of C++, the ANSI standard will be
invisible. The standard has been stable for a while,
and all the major manufacturers support the ANSI
standard. We have endeavored to ensure that all
the code in this edition of this book is ANSI compliant.
Should
I Learn C First?
The
question inevitably arises: "Since C++ is a superset
of C, should I learn C first?" Stroustrup and most
other C++ programmers agree. Not only is it unnecessary
to learn C first, it may be advantageous not to
do so. This book attempts to meet the needs of people
like you, who come to C++ without prior experience
of C. In fact, this book assumes no programming
experience of any kind.
Preparing
to Program
C++,
perhaps more than other languages, demands that
the programmer design the program before writing
it. Trivial problems, such as the ones discussed
in the first few chapters of this book, don’t require
much design. Complex problems, however, such as
the ones professional programmers are challenged
with every day, do require design, and the more
thorough the design, the more likely it is that
the program will solve the problems it is designed
to solve, on time and on budget. A good design also
makes for a program that is relatively bug-free
and easy to maintain. It has been estimated that
fully 90 percent of the cost of software is the
combined cost of debugging and maintenance. To the
extent that good design can reduce those costs,
it can have a significant impact on the bottom-line
cost of the project.
The
first question you need to ask when preparing to
design any program is, "What is the problem I’m
trying to solve?" Every program should have a clear,
well-articulated goal, and you’ll find that even
the simplest programs in this book do so.
The
second question every good programmer asks is, "Can
this be accomplished without resorting to writing
custom software?" Reusing an old program, using
pen and paper, or buying software off the shelf
is often a better solution to a problem than writing
something new. The programmer who can offer these
alternatives will never suffer from lack of work;
finding less-expensive solutions to today’s problems
will always generate new opportunities later.
Assuming
you understand the problem, and it requires writing
a new program, you are ready to begin your design.
Your
Development Environment
This
book makes the assumption that your computer has
a mode in which you can write directly to the screen,
without worrying about a graphical environment,
such as the ones in Windows or on the Macintosh.
Your
compiler may have its own built-in text editor,
or you may be using a commercial text editor or
word processor that can produce text files. The
important thing is that whatever you write your
program in, it must save simple, plain-text files,
with no word processing commands embedded in the
text. Examples of safe editors include Windows Notepad,
the DOS Edit command, Brief, Epsilon, EMACS, and
vi. Many commercial word processors, such as WordPerfect,
Word, and dozens of others, also offer a method
for saving simple text files.
The
files you create with your editor are called source
files, and for C++ they typically are named with
the extension .CPP, .CP, or .C. In this book, we’ll
name all the source code files with the .CPP extension,
but check your compiler for what it needs.
NOTE: Most C++ compilers don’t care
what extension you give your source code, but if
you don’t specify otherwise, many will use .CPP
by default.
DO
use a simple text editor to create your source code,
or use the built-in editor that comes with your
compiler. DON’T use a word processor that saves
special formatting characters. If you do use a word
processor, save the file as ASCII text. DO save
your files with the .C, .CP, or .CPP extension.
DO check your documentation for specifics about
your compiler and linker to ensure that you know
how to compile and link your programs.
|