From: rmartin@thor.Rational.COM (Bob Martin)
Newsgroups: comp.lang.c++
Subject: Re: GOTO, was: Tiny proposal for na
Date: 29 Aug 92 16:02:57 GMT

rgp@mpd.tandem.com (Ramon Pantin) writes:

|Anyhow, you can't really do nothing about it, 


I agree! Something has to be done.  I'm just trying to do my part.

|nobody is going to outlaw
|any of these, nobody is going to stop using them either, even if you
|don't like them (we like them), so learn to live with them.

I do live with them, despite the discomfort.  I'm not sitting in some
ivory tower somewhere, contemplating my navel and how there aren't any
gotos in it.  I write code.  Lots of it.  And I read more than I
write.  And the code I read is often laced with breaks, continues, and
even gotos.  I don't barf all over this code, nor do I refuse to read
it.  Dealing with it is part of my job.  I just wish all the engineers
who write that code would make that part of my job easier by being a
bit more careful.

|>In software engineering, we have rules, but no cops.  (And I don't
|>want any cops either).  So "real good programmers" sometimes feel that
|>the rules don't apply to them.  We average types suffer at their hands.

|The problem is that when you say "we have rules" you mean "I have rules",
|you have your rules and I have my rules.  I don't feel guilty when I
|use breaks, continues, returns, gotos or when I decide that a state
|variable makes more sense than any of these.  If you don't like using
|some of these, that is ok also, go ahead and don't use them, don't be
|afraid, I won't send my cops to look at your code.

f=ma is a rule.  It is not 100% accurate, but it is pretty damned
close.  You can say "Its not my rule" if you like, but that doesn't
make it any less valid.

Structured programming has proven its benefits over the last 15 years.
It may not have as much experimental support as f=ma, but it does have
a lot.  If you don't want it to be one of your rules, that's your
choice, but that doesn't make it any less valid.  

|Textbook software engineering for computer science students is not
|exactly how things work in the real world.  

How well I know!  So few of the engineers have read the damned
textbook.  However, I think the industry would greatly benefit if the
textbook were taken more seriously by more engineers.

|If somebody in the real world
|is making you "suffer at their hands" with good old C code, you can always
|find yourself a project that is being done strictly under your rules.
|If you can't find one, then you might be more tolerant of all the
|programmers that have not seen the light and give them some space.
|Please don't suffer too much if one of them puts a "break" in one of
|your statefull loops.

Now who's not in the real world.  My interests do not lie in finding
some nice structured niche to hide in.  To quote you: "you cant do
nothing about it."  I don't indend to do nothing.  I intend to teach
and expound and discuss these issues, over and over again.  Structured
programming works.  More importantly, the benefits to be derived from
OOP will be eroded if SP is forgotten.



--
Robert Martin                        Training courses offered in:
R. C. M. Consulting                       Object Oriented Analysis
2080 Cranbrook Rd.                        Object Oriented Design
Green Oaks, Il 60048 (708) 918-1004       C++
Newsgroups: comp.lang.c++