because they support way clearer statements instead, which give a clearer defined purpose. Goto really is very hacky and can go awfully wrong. If you, instead, use a foreach method, the loop is better defined, because it does not set an arbitrary mark somewhere in the program you can jump to from anywhere.