JohnQ said:
Not for a seasoned software development project manager. But for an IT
department manager who manages everything, either one of those may be
tough.
So its the IT manager experience/competence level that's more important?
Thats kind of what I was thinking.
Looks like C++ use is declining.
It also shows Win32 as having a shrinking user base.
Scripting and HTML had the greatest increase.
From the article, the reason was the reduction in application complexity,
such as automatic garbage collection.
There are garbage collecting systems for C++, IIRC, and looks like it'll be
in the version 2.0 of the standard.
http://www.infoworld.com/article/05/11/30/49FErrdevelop_1.html?s=feature
Now, memory leaks are a problem, surely. Though realistically any resource
can fail to be managed properly, not just memory.
Manage these resources through classes, se STL collections and string
objects.....is it really that much more complex than Java?
I can't think of all the things that C++ doesn't take for granted, such as
8-bit bytes, but if a language was more platform-specific, it would be
easier to program in also.
And if it were more platform-specific it would be much more difficult to
move programs to different platforms when they came out.
Or are you not just referring to word sizes and such, but stuff like GUI
and/or databases?
Maybe/probably can't, but we should he have to micro-manage and assume
everyone is on their honor to follow the coding standard (which would
probably be way too intricate if all the ways templates could be used were
excluded... well, maybe not: just list hot they CAN be used). Still,
switching them off is one method of control, though extreme.
Far too extreme. Code reviews are a good, useful technique - can even find
problems before they get into the code base.
And you can get tools that can analyze a cde base for compliance to code
standards.
And a manager is either micromanaging becase they doesn't trust their
developers to do the right thing, or they do.
Code reviews, even on just a few projects, can provide "spot-checks".
That's a personnel/management issue though.
C++ is hard to learn. To manage projects where it is used, one should know
how to use it very well IMO. That may be too big of a pill to swallow for an
IT manager (or for that career path).
Yes, one should know how to use the language (any language) well,
particularly to manage projects being written in it.
It's much easier in C++ (to write unmaintainable code)!
I dont know of any other language that has an obfuscated code contest - no,
wait, that's C.
C, without classes, overloading, or templates.
I didn't say axe the container library, just templates. Other non-template
containers would replace the template ones. But then, without templates
being available to the programmers, they can't exploit the template
machinery.
Microsoft had a set of non-template containers, IIRC. In order to be used
didn't they have to all deive from CObject or some such?
And without templates being available to the programmers, it'd be difficult
for 'em to come up with their own generic classes that fit their needs.
Even if you don't trust the regular developers to handle templates, there
may be some developers responsible for developing the internal framework
that may need to create a generic class for others to use. So if templates
aren't available, then the framework couldn't be developed unless there's a
way to say
"its ok for this, but not for that" section of code.
Or the vendor's or "Small C++"''s standard library.
That doesn't solve the problem we were trying to solve above.
Indeed! Use with caution (mostly, don't use).
I approach it with a "use when needed".
If + is being overloaded, it had best clearly represent an "addition"
concept.
Lets say you have multiple heaps, and you gather memory usage stats on each
heap into a class.
A total can be represented in the same class, and two stats can be added
together
Total += HeapStats;
For math they make a lot more sense. I haven't thought about operators in
regards to decreasing complexity of implementation. From the maintainable
code standpoint, I don't think juat that reason is enough to axe operator
overloading (Who know's, maybe that is next!).
Hm.....lets see...no generics, overloading may be axed as well.....
Consider C as your base, instead of C++?
But then you're still at risk having your programmers writing obfuscated
code contest entries.
Dennis