Newsgroups: comp.edu,comp.object,comp.lang.c++,comp.lang.smalltalk,comp.software.testing
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news4.ner.bbnplanet.net!news3.near.net!paperboy.wellfleet.com!news-feed-1.peachnet.edu!usenet.eel.ufl.edu!newsfeed.internetmci.com!news.sprintlink.net!howland.reston.ans.net!swrinde!emory!cssun.mathcs.emory.edu!wa4mei!news.randomc.com!macshack.com!netcom.com!mbergman
From: mbergman@netcom.com (Mark Bergman)
Subject: Re: Theory and Practice [was: Beware of
Message-ID: <mbergmanDBw2qv.87I@netcom.com>
Followup-To: comp.edu,comp.object,comp.lang.c++,comp.lang.smalltalk,comp.software.testing
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
X-Newsreader: TIN [version 1.2 PL1]
References: <3tdfsd$nn9@newsbf02.news.aol.com> <Pine.A32.3.90.950707172725.22358A-100000@elvis.med.Virginia.EDU> <3tkbd7$72@nt.colmicrosys.com> <3tr9oq$hb2@sernews.raleigh.ibm.com> <3u66as$5jp@sun132.spd.dsccc.com> <3ue75o$n6i@reznor.larc.nasa.gov>
Date: Tue, 18 Jul 1995 01:56:55 GMT
Lines: 58
Sender: mbergman@netcom.netcom.com
Xref: glinda.oz.cs.cmu.edu comp.edu:13384 comp.object:35203 comp.lang.c++:139088 comp.lang.smalltalk:25995 comp.software.testing:5203

Marshall Woodson (M.B.Woodson@larc.nasa.gov) wrote:


: There is one important distinction between Engineering and software
: development that seems to be missing from this discussion. In any
: engineering project it is often impratical to build test articles,
: or components to verify design decisions. This means that Engineers 
: must rely on analysis done during the design phase, to "get it right"
: the first time. Limited testing is usually done afterwards, to verify
: the analysis. Contrast this with software development which in
: practice envolves little if any analysis, and a great deal of testing. 
: Many of the comments in the "hackers" thread suggest that in some
: cases software developers give little thought to the design phase,
: and simply start writing code. It is the requirement to produce 
: theoretical and analytical models of physical systems which tends 
: to separate engineering from other disciplines. 

: Regards,
: Marshall

I studied some of the history of Engineering. Throughout antiquity, a new
engineering field was constantly being discovered through "trail and error."
The mature engineering disciplines have been built on hundreds, if not
thousands, of years of discovery, experimentation, failure, and eventually,
repeatable success. We have been "hacking" throughout time. It is a
natural phase of a young discipline.

I have also seen many engineers in mature fields (mechanical, electrical,
etc.) hack on their designs as well, esp. with the advent of CAD/CAM/CAE
tools. (Though, this could be considered the software-ization of
mature engineering fields.) Anyway, we are not alone in our "sin."

More importantly, we need to acknowledge that building software is not as
easy as we think it should be. We just do not understand the whole field
that well. Give it a few more years (maybe 50 to 100, hopefully less)
to mature.

I suspect much of our hacking comes from not knowing
what else to do in an ugly situation. And, some of it is just
plain laziness. I think we need to spend more time differentiating the
two, than condemning the whole practice. Maybe there is some knowledge
to be gained in studying when and why we hack. This could lead to
a better understanding of a class of problems in creating software and then,
the creation of a better set of techniques to deal with these problems.

Be patient with those who hack. Work to find out why it is happening. There
maybe more going on than you suspect. Show, where and when appropriate, 
better ways of doing software engineering. Also, if you discover something
interesting, share it with us. This is how we can evolve software engineering
into a more mature engineering discipline.


Mark Bergman
-- 

############################## E Pluribus Unix ################################
Mark Bergman                                                mbergman@netcom.com
"Ping-ponging across america on a quest for knowledge..."
"Think Globally, Eat Locally"
