"goto" is older.
Many highlevel constructs are just gotos in disguise and their documentation still contains expressions like "go to beginning of loop"
A language agnostic algorithm description might still say "go to" (like in this case)
And because most use cases have been abstracted away doesn't mean there are no legit applications left for goto
| [reply] |
well, i was just trying to understand it honestly, because in all the CRAZY shit i have had perl do , it has paid off, and i havent ever used "goto". but just because i have never used it, doesnt meant there isnt a reason to use it i reckon. im just a novice anyway, but i do appreciate the user-bility of perl. its like the "engrish" of the computing language :)
| [reply] |
Indeed - processors don't loop, they just jmp - which is extremely similar to the goto that is considered harmful. Fortunately, we have higher level constructs available. (Although even then, I'll often last out of a loop)
| [reply] [d/l] [select] |
> I'll often last out of a loop
Exactly: last , next , redo , ... are just gotos with restrictions.
Throwing exceptions is also a kind of goto.
I remember a talk where TheDamian showed code which was not better written without goto.
Knowing that fire is dangerous led to new methods for heating, cooking and constructing lamps.
But this doesn't mean lighters and matches have no use left and must be strictly forbidden.
PS: next EXPR since 5.18? Wow I missed that one ... (??? o.O ???)
| [reply] [d/l] |
Indeed - processors don't loop, they just jmp
Right in general, wrong in detail. The x86 family has the rep, repz and repnz prefixes since at least 1978 that each implement an implicit while loop in combination with "string" instructions cmps, ins, lods, movs, outs, scas, stos, without any jumps in assembly code.
Alexander
--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
| [reply] [d/l] [select] |
Given that the OP was presenting a relatively-plain-English description of an algorithm, rather than actual code (or even pseudocode!), I'm rather confident that "goto 2" was intended to mean "repeat the above process, starting at step 2", not that he used or expected to use an actual goto statement. | [reply] [d/l] |