Did you ever start a new job and find yourself assigned to dig out and destroy bugs in a very large and quite complicated software project?

I did and what I found when I began rooting through the code in Microsoft Visual Studio was a stinky stew of classes that are nothing more than structs (everything made public), global functions that should have been members and member functions that should have been static. Object oriented design and programming is present in places and horribly, conspicuously absent everywhere else. See:using public variables in c++ classes

It really aggravates me have to try to make this frankenstein creation into a humanoid capable of functioning effectively. Especially when this same project has reached the point of having to ship! It's got to be going out the door in 2 days.

Oh, and by the way, this project is for use in a hospital operating room. They will use it to calculate the quantity and precise position of small radioactive seeds to be places inside peoples vital organs.

Did I forget to mention that I get a salary for this and am expected to work overtime?

Typically the people who write such programs refer to the languages they know as C/C++. Essentially, they end up writing C code -- badly -- that happens to require a C++ compiler to compile. They are oblivious of the STL, iostreams and other joys that C++ has to offer, instead preferring abominations such as printf.

Be very wary of these people. They do not write good programs.

The projects are, unfortunately, extremely common. Modern C++ programming only seems to have come of age in the past year or two, as compilers and programmer education have improved significantly. This doesn't solve the problems with the existing codebases, of course, but does give some hope for the future.

Y'know, if you log in, you can write something here, or contact authors directly on the site. Create a New User if you don't already have an account.