|
Programming in the large
Many traditional languages have built-in
limitations to program size and complexity. BASIC, for
example, can be great for pulling together quick solutions for certain classes
of problems, but if the program gets more than a few pages long or ventures out
of the normal problem domain of that language, it’s like trying to swim
through an ever-more viscous fluid. C, too, has these limitations. For example,
when a program gets beyond perhaps 50,000 lines of code,
name collisions start to become a
problem – effectively, you run out of function and variable names. Another
particularly bad problem is the little holes in the C language – errors
buried in a large program can be extremely difficult to find.
There’s no clear line that tells
you when your language is failing you, and even if there were, you’d
ignore it. You don’t say, “My BASIC program just got too big;
I’ll have to rewrite it in C!” Instead, you try to shoehorn a few
more lines in to add that one new feature. So the extra costs come creeping up
on you.
C++ is designed to aid
programming in the large, that is, to erase those
creeping-complexity boundaries between a small program and a large one. You
certainly don’t need to use OOP, templates, namespaces, and exception
handling when you’re writing a hello-world style utility program, but
those features are there when you need them. And the compiler is aggressive
about ferreting out bug-producing errors for small and large programs
alike.
|
|