Absolutely. But even entry-level programmers understand how to use the
basic constructs of programming and data structures. I believe any
"serious" development environment must assume at least this level of knowledge.
>My impression is that the primary goal of object-oriented development
>environments, at least as far as the business world is concerned, is to
>create reusable, general-purpose objects that can be easily extended to
>handle the particulars of a new problem to be solved, while hiding as much
>complexity as possible. Portability and simplicity of maintainance (mostly
>meaning cheap, entry-level programmers wherever possible) is far more
>important than performance for these types of applications (which still
>account for the bulk of the world's computing, though that is changing ;)
This is exactly correct. C++ allows you to simplify the environment as much
as possible without losing any of the flexibility of the language. I think
this is the way it is supposed to be.
I am not advocating complexity. I am advocating the ability to access the
system at any level of complexity you desire or require. Complexity is also
a subjective and relative term. C is a more complex language than assembly
code. But assembly code programming is generally considered more complex
than C programming primarily because the language is simpler. I haven't met
a language (and I know about a dozen) that I would consider truly complex.
They only seem complex if you don't know that much about programming. (Of
course, there are a couple bastard languages that stand as exceptions, but
we will ignore these.)
And for the record, I usually program at a high level for development cycle
efficiency. Let the hardware make up for the performance loss ;)
-James Rogers
jamesr@best.com