Re: What has C++ become?
plenty900@yahoo.com wrote:
I was looking over someone's C++ code today and despite
having written perfectly readable C++ code myself,
the stuff I was looking at was worse than legalese.
"Someone's C++ code"? Are you sure that "someone" is an experienced
C++ programmer who knows how to write good-quality understandable C++?
Anyone can write incomprehensible code with any language. And what is
worse, most people actually do.
The people who are guiding the development of C++
have really made a mess of things, I mean templates
and competing libraries and all that just render the
code impossible to comprehend.
What "competing libraries"?
And as for templates making a "mess of things", I'd say that's more
often than not just a myth. My personal experience is that templates
actually *simplify* things in most cases, they don't complicate things.
Just a small example:
int table[100];
....
std::sort(table, table+100);
I believe that's pretty simple and understandable code, or would you
disagree? (Never mind the "table+100" pointer trickery. That's not the
point here.)
Well, you know what? That's template code. It's precisely *because* of
templates that that code can be so simple as it is. Without templates it
would have to be much more complicated (compare to C's qsort()).
Maybe you think using <> makes template code "a mess"? I don't
understand why. Is this somehow unclear:
std::vector<int> table;
table.push_back(5);
What's so unclear about that? I think it's perfectly clear and legible
code. How else would you want it to be?
Sure there is
going to be a certain amount of complexity,
that's a given, but if code is not readable except by
a kind of clergy then there is something wrong with
the language.
It's impossible to design a language so that it cannot be written in
an unclear way. It's always possible to write obfuscated code.
However, that doesn't mean it's impossible to write clear code.