[Coco] C VS Basic Coco

James Jones jejones3141 at gmail.com
Wed Feb 14 16:21:06 EST 2018


On Wed, Feb 14, 2018 at 11:06 AM, Bill Gunshannon <
bill.gunshannon at hotmail.com> wrote:

>
> > I find the use of brackets and indentations MUCH more confusing than
> well coded BASIC with line numbers. Part of you know what you learn, I
> guess. Unless you really packed BASIC code, subroutines generally start
> with a whole number (like 500... with a "GOTO 500" to go to that routine).
> What's hard to find about that?
> Ask Dykstra.  Or just look at the decades of research into why GOTOs are
> bad.
>

The short version: a line with a number can be the target of a GOTO from
anywhere. That, especially when Color BASIC requires a line number on every
single line, makes it far more difficult to localize problems. (Combine
with Color BASIC's lack of local variables for even more fun.)


> In one of my last professional programming gigs I took more than a dozen
> programs heavily laced with GOTOs (true spaghetti code!!) and using proper
> structured programming removed all of them.  While I am not one who heavily
> favors standards bodies I think when they decided to come up with a BASIC
> standard it should have deprecated the GOTO entirely.
>

 Standards exist to codify existing practice, unfortunate as it may be.
There are two standards for BASIC: "Minimal BASIC", which is much like the
original BASIC (Dartmouth), and "Full BASIC", which has structured control
flow constructs and I believe is very much like True BASIC. (Not quite up
to spending $60 to find out; standards organizations make their living that
way.)


More information about the Coco mailing list