comp.lang.ada
 help / color / mirror / Atom feed
From: Marin Condic <condicma@bogon.pwfl.com>
Subject: Re: Software Engineering in Florida
Date: 1999/11/08
Date: 1999-11-08T00:00:00+00:00	[thread overview]
Message-ID: <3826F9A8.452F305@pwfl.com> (raw)
In-Reply-To: 804plo$dvs$1@nntp5.atl.mindspring.net

Richard D Riehle wrote:

> We really need to take more care in our use of the word "engineering"
> when discussing software.  I post the following in the form of a
> "Devil's advocate," proposition.
>

<snip>

It seems that there are some things common to engineering fields which computer
software does not share. Maybe as a result we should quit trying to call our
field "engineering" and opt for some other moniker: "Logician?" "Designer?"
"Doctor?"

I can think of no field of engineering normally recognized as such which does
not in some way deal with the arrangement of physical matter into some kind of
repeatable patterns to make it do something useful: Mechanical engineers
arrange metal into weapons. Civil engineers arrange concrete into targets.
Chemical engineers arrange molecules into fuel/explosives so that the ME's can
destroy the work of the Civil engineers. Electrical engineers arrange silicon,
etc. to flow electrons which will guide the ME's and Chem E's work to the Civil
E's work.

What physical anything does software arrange into? Software has no physical
reality. It is not some form of matter that is arranged into a useful and
repeatable pattern. (Indeed, if we had such a pattern, we'd never repeat it -
just subroutinize it.) Software is the writing down of rules for solving some
problem. It is as abstract as mathematics. Would we ever refer to a
mathematician as a "Numerical Engineer"? Is there any way we would ever line up
what a mathematician does and say it is very similar to what an ME does except
his medium is numbers instead of metal?

Another - and in my mind, very fundamental - difference between what we
software practitioners do and what "engineers" do is that we never build the
same thing twice. A civil engineer can say "Well, this structure is a
cantilever only it is made out of this new material 'Unobtanium'  which has the
following strength and weight properties, so I can compute the following
equations which will tell me what the dimensions of the cantilever should be to
support the loads expected." There is no equivalent to the "cantilever" in
software practice. If it exists at all, it becomes a reusable component and is
never again repeated. Think of "sort" or "search" as the parallel - if indeed
they are. Once you figure out the algorithm and code/test it, you don't revisit
it the next time you want to sort something. Its not like we have in the field
"Sort" experts as the CE's might have a "Cantilever Bridge" expert who's job it
is to keep redesigning cantilever bridges in a variety of places and using a
variety of materials.

The "engineer" applies a set of historically discovered rules in solving a new,
yet categorizable, problem. The "software practitioner" is in the business of
dreaming up the rules to solve a problem. It seems to me there is something
very different about the two professions.

>
> I realize I have probably opened a hornet's nest with this, but it is
> important enough for Ada practitioners to consider since we so often
> tout Ada as a software engineering language.

Well, I admit I certainly can't resist the opportunity to help you poke around
in that hornet's nest. It can't be any worse than the "free software" debate,
eh? :-)

MDC
--
Marin David Condic
If you hurry you can, for a short time only, still find me at:
Real Time & Embedded Systems, Propulsion Systems Analysis
United Technologies, Pratt & Whitney, Large Military Engines
M/S 731-95, P.O.B. 109600, West Palm Beach, FL, 33410-9600
***To reply, remove "bogon" from the domain name.***

Visit my web page at: http://www.mcondic.com/






  parent reply	other threads:[~1999-11-08  0:00 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-11-04  0:00 Software Engineering in Florida Charles H. Sampson
1999-11-05  0:00 ` Ted Dennison
1999-11-07  0:00   ` Richard Kenner
1999-11-07  0:00     ` Richard D Riehle
1999-11-08  0:00       ` Ron Skoog
1999-11-08  0:00         ` David Starner
1999-11-08  0:00           ` Richard D Riehle
1999-11-08  0:00             ` Ron Skoog
1999-11-08  0:00             ` Ron Skoog
1999-11-08  0:00       ` Engineering & Software Engineering M.
1999-11-08  0:00         ` Richard D Riehle
1999-11-08  0:00       ` Marin Condic [this message]
1999-11-08  0:00         ` Software Engineering in Florida tmoran
1999-11-08  0:00           ` Marin Condic
1999-11-08  0:00             ` tmoran
1999-11-08  0:00       ` Robert Dewar
1999-11-08  0:00         ` Richard D Riehle
1999-11-08  0:00           ` Marin Condic
1999-11-08  0:00         ` Ehud Lamm
1999-11-09  0:00       ` Robert I. Eachus
1999-11-10  0:00         ` M.
1999-11-10  0:00           ` Marin Condic
1999-11-11  0:00             ` Robert Dewar
1999-11-11  0:00               ` Robert Dewar
1999-11-11  0:00               ` Marin Condic
1999-11-12  0:00           ` Robert I. Eachus
1999-11-10  0:00         ` Robert Dewar
1999-11-12  0:00           ` Robert I. Eachus
1999-11-05  0:00 ` David Botton
1999-11-06  0:00   ` M.
1999-11-07  0:00     ` Richard Kenner
1999-11-05  0:00 ` Robert Dewar
1999-11-07  0:00 ` Richard Kenner
1999-11-09  0:00   ` Robert I. Eachus
1999-11-11  0:00     ` Richard Kenner
1999-11-12  0:00       ` Engineering Liability (was Re: Software Engineering in Florida) Robert I. Eachus
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox