To anyone who doesn't know a lot about computer programming, some of it is done really stupidly. Here is an analogy to help explain what I mean. Suppose that Ford
made Model T's
(which indeed they did). But now they are going to make a brand new,
state of the art, modern automobile.
But instead of rewriting the design, they simply write the new portion
and add it to what already existed. Essentially, your new car would
simply be a Model T with a shiny new outside.
However it would drive down the road; and the time and effort and
expense of rewriting the entire program would have been avoided. Then
you could say, "Wow! see? I built this new car in an hour!" But actually you built a Model T with a new paint job.
Eventually, the "duct tape"
holding the new and old pieces together will start to fail. Someone can
come in and try to retape it which just adds more tape to the already
confusing mixture of old and new. It has now become way more confusing
than if only the necessary and newer portions existed—but now it is all
dependent on the original obsolete parts. You may have saved time, labor and money originally, but now your brand new Model T is going to fail. Just give it time.
And
that my friends, is bad programming. Unfortunately it is too common.
Over the years as more different people patch the original old crap, it
becomes virtually impossible to keep it functioning correctly because
there are too many interdependent pieces that have no direct value to
the final product.
That is true! It also doesn't help if the employer abuses the programmers ensuring constant turnover. The new guys are clueless and pretty much have to use more duct tape to keep it going. By the time they are proficient enough to start cleaning things up they are sick of it and leave as well.
ReplyDelete