Hi
I'd suspect that most didn't like the goto
because it becomes hard to implement in a structured
language. Things like random nesting of subroutines and
then goto's to various points can make things really
messed up. There are also the problems of allocated
memory. Do you keep it or clean it?
Forth, like many languages doesn't specifically have
a goto but in to Forth philosophy, you can always
write your own. Most newer Forths have an error handling
method called catch and throw. This tidies up the
stacks and still allows one to goto an outer level
of hierarchy at random depths, like a goto should.
It doesn't work at all to go to a deeper level of
hierarchy. I think this is where BASIC gets it self
into trouble.
Many think of goto as being similar to jmp in assembly.
Actually in a high level language, it is more complicated
than that. The language tend to lead one to think they
can use it just anywhere. In assembly, you are more
conscious ( or should be ) of thing like stack depth
and allocated space, since you explicitly handle these
things.
Dwight