Line Numbers and GOTOs
In "unstructured" programming languages such as BASIC and Fortran, line numbers were used to specify the targets of branching statements. For example:
10 IF X = 42 GOTO 40 20 X = X + 1 30 GOTO 10 40 PRINT "X is finally 42!"GOTO-style branching is now widely considered by programmers to be poor programming style, as it tends to lead to the development of spaghetti code. (See Considered harmful, Structured programming.) Even in some later versions of BASIC that still mandated line numbers, the use of line number-controlled GOTOs was phased out whenever possible in favor of cleaner constructs such as the for loop and while loop.
Many modern languages (including C and C++) include a version of the GOTO statement; however, in these languages the target of a GOTO is specified by a line label instead of a line number, and the use of GOTO is strongly discouraged by most programming style guides. The typically accepted use being when it is used to escape out of deep looping. For example:
while(1) { while (1) { if (done) { goto freedom; } } } freedom:This is much cleaner than the alternative that follows, which needs to have a much more widely scoped `done` variable.
while(1) { while (1) { if (done) { break; } } if (done) { break; } }Read more about this topic: Line Number
Famous quotes containing the words line and/or numbers:
“I had crossed de line of which I had so long been dreaming. I was free; but dere was no one to welcome me to de land of freedom. I was a stranger in a strange land, and my home after all was down in de old cabin quarter, wid de ole folks, and my brudders and sisters. But to dis solemn resolution I came; I was free, and dey should be free also; I would make a home for dem in de North, and de Lord helping me, I would bring dem all dere.”
—Harriet Tubman (c. 18201913)
“Individually, museums are fine institutions, dedicated to the high values of preservation, education and truth; collectively, their growth in numbers points to the imaginative death of this country.”
—Robert Hewison (b. 1943)