Article View: es.comp.lenguajes
Article #184Re: Programacion con GOTO
From: David
Date: Wed, 15 Nov 2000 00:00
Date: Wed, 15 Nov 2000 00:00
67 lines
4845 bytes
4845 bytes
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:
<8uto1a$t5g$1@titan.bt.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<zXhQ5.698$cQ5.16259@m2newsread.uni2.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,CP1252 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: 105378,9ebb41239b0c5eaa X-Google-Attributes: gid105378,public X-Google-Thread: f86c8,9ebb41239b0c5eaa X-Google-Attributes: gidf86c8,public X-Google-Thread: 1116f3,9ebb41239b0c5eaa X-Google-Attributes: gid1116f3,public From: "David" <davidrodrNOS@PAMexcite.es> Subject: Re: Programacion con GOTO Date: 2000/11/15 Message-ID: <8uto1a$t5g$1@titan.bt.es> X-Deja-AN: 693841428 Content-Transfer-Encoding: 8bit References: <zXhQ5.698$cQ5.16259@m2newsread.uni2.es> X-Priority: 3 Content-Type: text/plain; charset="Windows-1252" X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 X-Complaints-To: abuse@bt.es X-Trace: titan.bt.es 974283626 29872 212.22.41.100 (15 Nov 2000 10:20:26 GMT) Organization: BT Tel. Netnews service (readers) X-MSMail-Priority: Normal Mime-Version: 1.0 NNTP-Posting-Date: 15 Nov 2000 10:20:26 GMT 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