En la entrada anterior vimos que el control de flujo es una parte fundamental de cualquier lenguaje de programación, que nos permite controlar la ejecución del programa y tomar decisiones.
Una de las primeras instrucciones que se utilizó para el control de flujo es el comando GO-TO. El comando GO-TO es una instrucción que permite saltar de una sección del código a otra, sin ejecutar el código intermedio.
Es decir, permite cambiar el flujo de ejecución del programa. Se utiliza para implementar estructuras de control de flujo, como bucles y condicionales, y también para saltar a una sección específica del código en función de alguna condición.
El uso del comando GO-TO es muy simple. Simplemente se utiliza la palabra reservada GO-TO, seguida de una etiqueta que identifica la sección del código a la que se quiere saltar. La etiqueta se identifica con un nombre y se coloca en la sección del código que se quiere saltar.
// código que se ejecutará
goto etiqueta;
// todo este código nos lo saltamos
etiqueta:
// código al que se saltará
En la actualidad, el comando GO-TO se considera una mala práctica. Tuvo su función en el pasado, pero generaba un código difícil de mantener y gestionar.
El problema es que, a medida que el código aumenta en longitud y complejidad, se va llenando de “saltos para aquí y para allá”. Al final acabas con un laberinto, en el que es muy fácil no saber por donde va a ir el programa.
Como esto no era muy mantenible, unas personas muy inteligentes se pusieron a pensar ¿qué podemos hacer para que esto mejore? Así que lo primero que analizaron es ¿en que circunstancias tengo que hacer un GO-TO?
Con esto surgieron nuevas formas y pautas para estructurar nuestro código. De hecho esto pasó a llamarse “programación sin GO-TO”. Así nacen las estructuras de control que hoy conocemos, que principalmente son
- Condicionales
- Bucles
La mayoría de lenguajes de programación modernos como C++, C#, JavaScript o Python, implementan estas estructuras. Estas estructuras proporcionan una mayor claridad en el código, lo que facilita su comprensión y modificación.
Si bien muchos lenguajes aún suelen mantener algún tipo de instrucción GO-TO, en la actualidad su uso no es necesario y está fuertemente desaconsejado.