Συνήθως οι εντολές που χρειάζονται με goto είναι ίδιες ή περισσότερες από ότι αν χρησιμοποιήσεις μια εντολή επανάληψης. Π.χ.
με goto:
ι <- 1
:ΕΠΑΝΑΛΗΨΗ_ΝΟΥΜΕΡΟ_2126
ΓΡΑΨΕ ι
ι <- ι + 1
ΑΝ ι <= 10 ΤΟΤΕ
ΠΗΓΑΙΝΕ ΕΠΑΝΑΛΗΨΗ_ΝΟΥΜΕΡΟ_2126
ΤΕΛΟΣ_ΑΝ
χωρίς goto:
ι <- 1
ΟΣΟ ι <= 10 ΕΠΑΝΑΛΑΒΕ
ΓΡΑΨΕ ι
ι <- ι + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
και φυσικά αν το κάνεις με ΓΙΑ ωφελείσαι περισσότερο.
Ο σκοπός είναι να μάθεις να σκέφτεσαι δομημένα και στα πιο απλά προβλήματα. Πρώτα να σκεφτείς ότι χρειάζεσαι επανάληψη και μετά να αρχίσεις να γράφεις κώδικα. Μόλις το συνηθίσεις θα δεις ότι τελικά είναι πιο απλό από τις goto.
Δεν είναι τυχαίο που έχει εγκαταληφθεί η χρήση της goto. Χιλιάδες κατασκευαστές πλυντηρίων... ε, συγνώμη, αλγορίθμων, τις τελευταίες δεκαετίες κάτι ξέρουν.
Μιας και είμαστε στις παρομοιώσεις, και μιας και είσαι μαθητής, ας κάνω κι εγώ μία. Ακόμα κι αν σε κάποια σημεία σου φαίνεται πιο εύκολο, η χρήση της goto είναι λάθος. Είναι σαν να μαθαίνεις κάποιο άθλημα, π.χ. bowling, και να αγνοείς το δάσκαλό σου και να λες "εγώ θα ρίχνω με τα δυο χέρια, σημαδεύω καλύτερα".
Ο δάσκαλος όμως σου όμως είναι σοφότερος λόγω γνώσεων ή εμπειρίας, ξέρει ότι εν τέλει θα σημαδεύεις καλύτερα με το ένα χέρι παρά με τα δύο. Και εξάλλου, όταν χρειαστεί να βάλεις φάλτσα, δεν θα μπορείς με τα δύο χέρια.
Κάθε επιστήμη ή άθλημα θέλει μια περίοδο "προσαρμογής", όπου καλείσαι να προσαρμόσεις τον τρόπο σκέψης σου ή δράσης σου. Να θυμάσαι όμως πάντα ότι η πλειονότητα των αντικειμένων έχει σοβαρούς λόγους που διδάσκεται με τον τρόπο που διδάσκεται. Το να βρεθεί μια γλώσσα προγραμματισμού που να αντιστοιχεί πλήρως στο σκεπτικό ενός μαθητή είναι αδύνατο. Ο μαθητής είναι αυτός που θα πρέπει να προσαρμόσει τη σκέψη του ώστε να είναι αρκετά δομημένη και σαφής ώστε να εκτελεστεί από έναν υπολογιστή.