Welcome to European Tribune. It's gone a bit quiet around here these days, but it's still going.
Display:
Heartily agree.  The following is intended as expansion on two points, not a criticism of TBG's post.

Re: CompSci

A good example of numbnuts things Computer Scientists come-up with is their horror of unrestricted GOTOs.  Well, I've got news.  If all unrestricted GOTOs were eliminated nobody could boot their computer.  If unrestricted GOTOs were eliminated wouldn't have Assembler level Branching Instructions.  If unrestricted GOTOs were eliminated have to drop the "L" in ALU.

The CompSci folks have very, very, carefully isolated CompSci from Reality.

TBG:

... you have systems that ...  be replaced with something better for practical reasons.

Nothing is going to change until somebodies derive a "More Better" way of doing things in degree and kind.

The three biggest reasons are:

  1.  The total global market for Computers is roughly US $900 billion/year when everything from clam shell mobiles to 900 tera/flop machines is added together.

  2.  The installed base: hardware, software, "mental-ware," and hardware/software/"mental-ware" union, is both vast in terms of money and non-monetary asset calculation.  I have no idea what these work out to in dollars but US $200 trillion is probably conservative.  

  3.  A challenge to the above that is not substantial "More Better" in degree and kind is fiercely resisted, a current example is the outcry over MicroSoft Windows 8.0.

As a Computer Engineer I look at the awe striking advances in hardware technology and am disgusted by the lack of advances in software.  


She believed in nothing; only her skepticism kept her from being an atheist. -- Jean-Paul Sartre
by ATinNM on Sun Jun 9th, 2013 at 11:59:25 AM EST
[ Parent ]
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