On Wed, Mar 13, 2002 at 01:51:08PM +0000, David Cantrell wrote: > On Wed, Mar 13, 2002 at 07:46:46AM -0500, Joe Johnston wrote: > > Sure, programming is an art, but so is brige-building and highway > > construction. Yet, the process that creates these real-world > > constructs is very carefully controlled and monitored. Software > > Engineer is lagging behind its physical counterparts. > > No, we're not lagging behind. Software engineering is VERY young - at > most, 60 years old. Civil and naval engineering are more like four > thousand years old and mechanical engineering at least two thousand years > old. It is no surprise that they have managed to iron out a great deal > more bugs in their processes than we have. And no, I don't think all our > bugs are ones which have been solved in other engineering disciplines.
I don't think that's a valid comparison. Cars and planes have been built commercially for only 100 or so years, a span of time very comparable to software engineering's life span. If you would claim that the mechanical know-how for cars and planes was around long before, well, mathematics have been around for a while as well. Which brings up another point. People who don't know the math and algorithms behind programming should not be writing commercial-grade programs. That we allow, even encourage such programmers to code by paying money for their services, is one of the reasons why software in today's world lags behind the other engineering disciplines. I am not saying we should all have taken college-level courses, but at least an understanding of concepts like base-n number systems, O(n), and theorem proof by induction should be a requirement for every commercial programmer (examples drawn at random). I don't think any amount of QA, documentation, project management skills, or any other procedural tools can correct for the basic skills missing in programmers on a team. Ted
