Classic literature still relevant
-
Sigh...read this (again): http://www.cs.utexas.edu/~EWD/ewd02xx/EWD215.PDF[^] Note that Dijkstra is speaking specifically about "higher level" languages. Assembly level code will never dispense with the goto statement, because it maps directly to the machine JMP instruction. Very efficient. But this can't justify their use in a higher-level language. Hhigher-level programs should represent complex logic through abstraction. In OO languages, complexity in a method is usually an indication that the object model should be refactored...without using goto.
-
Sigh...read this (again): http://www.cs.utexas.edu/~EWD/ewd02xx/EWD215.PDF[^] Note that Dijkstra is speaking specifically about "higher level" languages. Assembly level code will never dispense with the goto statement, because it maps directly to the machine JMP instruction. Very efficient. But this can't justify their use in a higher-level language. Hhigher-level programs should represent complex logic through abstraction. In OO languages, complexity in a method is usually an indication that the object model should be refactored...without using goto.
Why post that here?
-
Why post that here?
Well, that was the biggest bunch of tripe spouted as an erudite document that I've read since college. That's worth the hall of shame all by itself. It's stored as images when HTML text would be much more readable, manageable, and condensed in storage costs to boot. This guy is using circular logic to justify not supporting the GOTO command, which I found ironic. They copyrighted something that anyone should be ashamed to claim as their own. Spell-checkers have been around forever, I'd have thought a professor might have found one by now. I have to admit that I started hating GOTOs several decades ago when I read one tome without a single comment in it and as near as I could tell about a third of the code was dead code. I'm predisposed to like a document that advocates this concept and I didn't see one valid argument given. Says it produces errors, which I've seen firsthand, but doesn't explain why they are produced. The only reason you'd need to re-read it, is if you are searching (again) for its logic. I kind of liked the original poster posting it like it is a document worth reading, but puts it in the hall of shame. Eliminating GOTO statements deserves a well written document. That wasn't it.
-
Well, that was the biggest bunch of tripe spouted as an erudite document that I've read since college. That's worth the hall of shame all by itself. It's stored as images when HTML text would be much more readable, manageable, and condensed in storage costs to boot. This guy is using circular logic to justify not supporting the GOTO command, which I found ironic. They copyrighted something that anyone should be ashamed to claim as their own. Spell-checkers have been around forever, I'd have thought a professor might have found one by now. I have to admit that I started hating GOTOs several decades ago when I read one tome without a single comment in it and as near as I could tell about a third of the code was dead code. I'm predisposed to like a document that advocates this concept and I didn't see one valid argument given. Says it produces errors, which I've seen firsthand, but doesn't explain why they are produced. The only reason you'd need to re-read it, is if you are searching (again) for its logic. I kind of liked the original poster posting it like it is a document worth reading, but puts it in the hall of shame. Eliminating GOTO statements deserves a well written document. That wasn't it.
Well, that "tripe" was written by Dr. Dijkstra who is considered to be the father of programming languages and much of the framework of what we call computer science today. If you actually read the beginning it was also written in 1968, on a typewriter. You ever seen one, child? There is no spell checker on an IBM Selectric. I also have seen developers today utilize GOTO: in C# which makes me shudder!