Normally new programmers assume that there are no principles for jumping from one line to another line of code.
The GOTO command tends to be misused; it's a bit like an extremely powerful hand held powertool that is tempting to use, but can easily cause damage if used incorrectly. GOTO has so much unconstrained power you can crash, disrupt or obfuscate your program quite easily with it.
I rearly use it, maybe once or twice in every 10,000 lines of code; I use it usually due to program design issues as a temporary quick fix to escape a For Loop step without exiting the entire loop, like so.
For Client = 1 to MaxClients
If ClientOnline(Client)
If GotNetworkMessagesFrom(Client)
` ....
` 100s of lines of code
If ClientPositionIdle Then GOTO NextClientLabel
EndIf
EndIf
NextClientLabel:
Next Client
But that would only be a temporary fix until I can be asked to branch things off correctly.
The other program flow tools are better, keep it flowing like a tree, from root, to trunk, to branch, to leaf and back to the root for the next loop; that way the chances of conflicts and confusion is kept to a minimum.
Think about bugs and crashes, how will you find the root to the problem if there are no clear roots or branches? And DBPRO has no serious debugging tools (after so long).