Welcome to European Tribune. It's gone a bit quiet around here these days, but it's still going.
Display:
The observation was that using gotos generally makes a program much harder to understand.  It's the programming equivalent of 'you halve your readership for every equation you use'.

People have tried sneaking them back in the guise of callback based programming, and that results in programs that are even harder to understand.

Yes, they are used at the cpu instruction set level.  But almost nobody writes (or even understands) that.

by njh on Tue Jun 11th, 2013 at 12:34:12 PM EST
[ Parent ]
And Branch instructions.

Good Flow-of-Control design eliminates 95% of unrestricted GOTOs.  The other 5% are unavoidable.  I can't help the fact "almost nobody" understands the instruction set for the CPU powering the machine they are programming and for all the Demons of Stupidity that flow therefrom.  The solution for ignorance is to learn.

(Hey!  You kids.  GTFO my address bus.)

She believed in nothing; only her skepticism kept her from being an atheist. -- Jean-Paul Sartre

by ATinNM on Wed Jun 12th, 2013 at 01:21:36 PM EST
[ Parent ]
The solution is to use INTERCAL which disallowed GOTO, providing the COME FROM statement instead.
by gk (gk (gk quattro due due sette @gmail.com)) on Wed Jun 12th, 2013 at 06:56:06 PM EST
[ Parent ]
And the far more troubling COMPUTED COME FROM.
by njh on Thu Jun 13th, 2013 at 12:42:17 PM EST
[ Parent ]
I think modern architectures are simply beyond most humans.  Can you even explain what the carry less multiplication instruction is for, or how the branch prediction system works?  And is it worth having all that understanding when you'll be writing programs which are mostly just moving bytes backwards and forwards.
by njh on Thu Jun 13th, 2013 at 01:10:05 PM EST
[ Parent ]
Going all the way back to the beginning, architectures were beyond most humans.  Most humans have no interest in computer architecture so they don't undergo the grind to learn.  

There's no Law stating everybody has to learn computer architecture.  However, when the discussion moves to Standards or cybernetic design the people involved damn well better have some idea.  Otherwise the thing will end up as a royal mess: LISA, Windows 8, etc.

She believed in nothing; only her skepticism kept her from being an atheist. -- Jean-Paul Sartre

by ATinNM on Fri Jun 14th, 2013 at 11:01:11 AM EST
[ Parent ]
And Gotos really fuck up verification/provability as well.
by Colman (colman at eurotrib.com) on Wed Jun 12th, 2013 at 01:37:23 PM EST
[ Parent ]
And maintainence.  I've done my share of trying to keep spaghetti code with a double portion of GOTO sauce from falling over.  Fun it ain't.

In a proper design GOTO is verifiable to the same extent any program is.  The trick is "proper design."  

She believed in nothing; only her skepticism kept her from being an atheist. -- Jean-Paul Sartre

by ATinNM on Fri Jun 14th, 2013 at 11:09:58 AM EST
[ Parent ]

Display:

Top Diaries

Occasional Series