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

Reply via email to