Article View: es.comp.lenguajes
Article #156Re: Programacion con GOTO
From: Emilio J. Diez Fraile
Date: Fri, 17 Nov 2000 00:00
Date: Fri, 17 Nov 2000 00:00
93 lines
5333 bytes
5333 bytes
Yo tambi�n hace mucho tiempo que no veo un GOTO dentro de un programa, pero
no nos enga�emos, el que no haya GOTOs en un programa no significa que est�
estructurado ya que hay otras sentencias en C y Java como 'break' y
'continue' que no son m�s que GOTOs disfrazados.
Es m�s en lenguajes como Visual Basic en que no se dispone de estas dos
�ltimas sentencias muchas veces un GOTO bien documentado es mucho mas claro
que 25 variables de control dentro de 15 bucles anidados.
"David" <davidrodrNOS@PAMexcite.es> escribi� en el mensaje
news:8uto1a$t5g$1@titan.bt.es...
>
> Hola Miguel
>
> Desde hace tiempo se considera el uso del 'goto' (ruptura incondicional
del
> flujo normal) como inadecuado en la programaci�n de alto nivel. Esto es
as�
> porque tiende a hacer los programas ilegibles, constituyendo lo que se
llama
> 'c�digo spaghetti', y porque impide determinadas optimizaciones del
> compilador.
>
> Te�ricamente, cualquier estructura de control de flujo, bien de iteraci�n
> (for, while, do-while), bien de selecci�n (if, switch), puede suplir el
uso
> de cualquier goto.
>
> No obstante, algunos autores (entre los que se encuentra Herbert Schildt)
> consideran que el uso del 'goto' puede ser incluso beneficioso en
> determinadas circunstancias, como por ejemplo la salida de un conjunto de
> bucles anidados. Sin embargo, este autor es partidario no de la
utilizaci�n
> del 'goto' a pelo, sino de su forma m�s civilizada: 'break'.
>
> Tengo que decir que no estoy de acuerdo con esto, y que cualquier salida
de
> un bucle deber�a ser evaluada en la condici�n de permanencia en el mismo.
>
> Hubo un tiempo en que pensaba que la incorrecci�n del uso del 'goto'
> descend�a a medida que lo hac�a el nivel del lenguaje de programaci�n
> utilizado. Es decir, la utilizaci�n de una sentencia
> 'goto' en un programa escrito en un lenguaje de alto nivel deb�a
> considerarse un pecado mortal, pero su uso en un programa escrito en
> ensamblador ('jmp') era un pecadillo, y m�s a�n, incluso era necesario.
Pero
> esto s�lo hasta que descubr� la riqueza de instrucciones de salto
> condicionales que exist�an en los ensambladores de distintas
arquitecturas.
>
> Desde ese entonces no he vuelto a utilizar un 'jmp' jam�s.
>
> Salud
>
> David
>
> "Miguel A. Fuentes" <tatoflis@wanadoo.es> escribi� en el mensaje
> news:zXhQ5.698$cQ5.16259@m2newsread.uni2.es...
> > Bueno, este mensaje es para sacar conclusiones con la orden GOTO en los
> > lenguajes de alto nivel.
> > Un grupo de alumnos de la Universidad y un Tutor discur�a al decir que
la
> > sentencia GOTO, tarde o temprano "la tendr�s que utilizar". Si el
programa
> > se complica tendras que utilizar la famosita orden, pero.... Que pasa
con
> la
> > programaci�n estructurada?�Que pasa con las modificaciones del programa
en
> > un futuro?�Que pasa con el jefe del departamento de programaci�n que ve
> ese
> > programa hecho de esa manera?.
> > Bueno, fue una discusi�n en la que el propio tutor afirmaba que la orden
> > GOTO la utilizaras tarde o temprano.
> > Como es de imaginar, el aqu� presente era la persona encarada en esa
> > discusi�n (no llegamos a las manos :-P) con el tutor y algunos alumnos
> > asistentes a la tutoria.
> > Personalmente, aportaba que esa orden est� en deshuso, si bien algunos
> > lenguajes, digamos que nuevos, ya no la incorporan �Por que sera?,�Es
> > posible que la programacion estructurada no sea capaz de resolver un
> > problema sin que se tenga que utilizar el GOTO?
> > Desde hace mucho tiempo estoy programando y he visto multitud de
> > aplicaciones, grandes y peque�as, y JAM�S he visto un GOTO, casualidad?
> > Es sabido que esa orden no figura en ningun manual del buen programador,
> > pero dejo la pregunta a la lista para que, aclarar o no, dejen su
opini�n
> > sobre la instrucci�n GOTO y la programaci�n de hoy en dia en lenguajes
de
> > alto nivel.
> > En cualquier caso, agradecer�a un comentario sobre las cuestiones aki
> > expuestas.
> > Un saludo a todos.
>
>
Technical Details
Message-ID:
<8v2p5n$l672@tid.tid.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<zXhQ5.698$cQ5.16259@m2newsread.uni2.es> <8uto1a$t5g$1@titan.bt.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 1135b7,9ebb41239b0c5eaa X-Google-Attributes: gid1135b7,public X-Google-Thread: f59de,9ebb41239b0c5eaa X-Google-Attributes: gidf59de,public X-Google-Thread: 10d088,9ebb41239b0c5eaa X-Google-Attributes: gid10d088,public X-Google-Thread: f78ff,9ebb41239b0c5eaa X-Google-Attributes: gidf78ff,public X-Google-Thread: 1116f3,9ebb41239b0c5eaa X-Google-Attributes: gid1116f3,public X-Google-Thread: 105378,9ebb41239b0c5eaa X-Google-Attributes: gid105378,public X-Google-Thread: f86c8,9ebb41239b0c5eaa X-Google-Attributes: gidf86c8,public From: "Emilio J. Diez Fraile" <ediez@tid.es> Subject: Re: Programacion con GOTO Date: 2000/11/17 Message-ID: <8v2p5n$l672@tid.tid.es> X-Deja-AN: 695735884 References: <zXhQ5.698$cQ5.16259@m2newsread.uni2.es> <8uto1a$t5g$1@titan.bt.es> X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 Organization: Telefonica I+D X-MSMail-Priority: Normal Newsgroups: es.comp.lenguajes,es.comp.lenguajes.java,es.comp.lenguajes.misc,es.comp.os.linux.programacion,es.comp.os.ms-windows.programacion,es.foro.lenguajes,esp.comp.so.linux.programacion