Hola a Todos:<br><br>La respuesta de por qué es conveniente usar "goto" quedo claro en la respuesta de Steven, por lo tanto no hace falta agregar nada supongo, y yo no debería estar respondiendo. Pero como veo que la discusión sigue y los tres últimos mensajes fueron del bando contrario, no puedo resistir la tentación de entrar en el "flame".<br>
<br>Algunas respuestas de la lista a favor de no usar esta sentencia me parecieron por lo menos ineficaces:<br><br>> toda función computable puede ser implementada en un lenguaje de programación que combine subrutinas en únicamente tres formas<br>
> ...<br>> ¿Por qué lo incluyen en el lenguajje?????????????????????????????????????????<br><br>No me queda claro si este argumento es a favor o en contra del "goto". El hecho de que un lenguaje sea "Turing Completo" no significa que sea expresivo o bueno para escribir programas de computación.<br>
<br>Para más prueba podés averiguar sobre el lenguaje BrainFuck (<a href="http://es.wikipedia.org/wiki/Brainfuck">http://es.wikipedia.org/wiki/Brainfuck</a>).<br><br>Hay sólo ocho instrucciones, y todas son de un carácter.<br>
Carácter        Significado<br>>       Incrementa el puntero.<br><    Decrementa el puntero.<br>+       Incrementa el byte apuntado.<br>-         Decrementa el byte apuntado.<br>.         Introduce el byte apuntado en la corriente de salida.<br>,        Toma como valor del byte actualmente apuntado el provisto por la corriente de entrada.<br>
[       Avanza a la instrucción inmediatamente posterior al ] correspondiente si el byte actualmente apuntado es nulo.<br>]       Retrocede a la instrucción inmediatamente posterior al [ correspondiente si el byte actualmente apuntado no es nulo.<br>
<br>Un "Hello, world" en Brainfuck:<br><br>Este sería el típico programa que escribe "Hello, world"<br><br><span style="font-family: courier new,monospace;">++++++++++</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">[                   Bucle para iniciar el vector</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">   >+++++++>++++++++++>+++>+<<<<-</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">]</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">>++.              imprime 'H'</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">>+.               imprime 'e'</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">+++++++.                  'l'</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">.                         'l'</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">+++.                      'o'</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">>++.                      espacio</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"><<+++++++++++++++.        'W'</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">>.                        'o'</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">+++.                      'r'</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">------.                   'l'</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">--------.                 'd'</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">>+.                       '!'</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">>.                        nuevalínea</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;">BrainFuck es un lenguaje "Turing Completo", con un poder igual a Java, por ejemplo. BrainFuck tampoco tiene "goto". Espero haber respondido la pregunta con eso.<br>
<br>> He programado durante casi 25 años de manera profesional y deje de usar el goto hace muchos años :)<br>> en 11 lenguajes de programacion diferentes (obviamente incluye c/c++) y 9 plataformas.<br><br>Este argumento no dice mucho. Tengo un amigo que programo 30 sin usar algunas estructuras de control básicas (while, for, switch)... porque usaba sólo "goto".<br>
<br>Saludos<br><br>