Article View: es.comp.lenguajes
Article #178Re: Programacion con GOTO
From: Fer
Date: Fri, 24 Nov 2000 17:32
Date: Fri, 24 Nov 2000 17:32
57 lines
3751 bytes
3751 bytes
>Luego, sobre lo que comentas de gotos "invisibles". No es lo mismo. El goto es >una transferencia totalmente incondicional y a un lugar no especificado a >priori. Eso lo convierte en algo muy parecido a una escopeta cargada y de >gatillo muy sensible. Yo tambi�n estoy de acuerdo con eso. Un manejo de excepciones tipo "try except" como tenemos en Delphi (no s� el equivalente en Java, algo como try catch?) est� claro que usa algo parecido a goto, pero tambi�n tenemos muy claro, cuando vemos el c�digo, qu� es lo que hace, y a donde saltar�a si tiene que saltar. No sigue las normas de la programaci�n estructurada, pero cumple muy bien un objetivo de un lenguaje de alto nivel: facilitar las cosas al pobre "pogramador". Un exit o return tambi�n rompe la programaci�n ordenadita, pero aqu� tambi�n tenemos algo muy claro al ver el c�digo: return equivale a terminar la funci�n. Si vemos una, sabemos que nos lleva al final de la funci�n. Otro ejemplo m�s: continue/break tambi�n nos definen claramente qu� hacen y adonde llevan el flujo del programa. Esa es la diferencia principal de todas estas funciones con el goto: el goto nos lleva a vete a saber d�nde, vete a saber qu� le pasa a las variables... con el resto de pseudo-gotos todo queda bastante definido. De todas formas, de los ejemplos que se han ido exponiendo aqu�, en ninguno veo necesario el goto (al menos, trabajando en Delphi). Por ejemplo, el que quer�a liberar recursos haciendo coge_recursos; ... if cond then goto libera; ... if cond then goto libera; ... libera: libera_recursos; en Delphi podr�a quedar algo as� (m�s o menos): try try coge_recursos; ... if cond then raise ESalida.Create; ... if cond then raise ESalida.Create; ... except end; finally libera_recursos; end; Al ver el raise, sabemos que saltar� directamente al bloque "except"... al menos, seguimos usando una estructura en el c�digo.
Technical Details
Message-ID:
<tk2t1t0iv4v7ncrv9e891rt2eetq92k22p@4ax.com>Path:
arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!isdnet!newsfeeds.belnet.be!news.belnet.be!opentransit.net!jupiter.opentransit.net!m2newsfeed.uni2.es!m2newsread.uni2.es.POSTED!not-for-mailReferences:
<zXhQ5.698$cQ5.16259@m2newsread.uni2.es> <8utqmr$4kd$1@diana.bcn.ttd.net> <3A14626A.B5C7A11B@BORRAR.megaiweb.com>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: 1116f3,9ebb41239b0c5eaa X-Google-Attributes: gid1116f3,public X-Google-Thread: 10d088,9ebb41239b0c5eaa X-Google-Attributes: gid10d088,public X-Google-Thread: 105378,9ebb41239b0c5eaa X-Google-Attributes: gid105378,public X-Google-Thread: f86c8,9ebb41239b0c5eaa X-Google-Attributes: gidf86c8,public X-Google-Thread: f78ff,9ebb41239b0c5eaa X-Google-Attributes: gidf78ff,public X-Google-ArrivalTime: 2000-11-24 09:33:54 PST Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!isdnet!newsfeeds.belnet.be!news.belnet.be!opentransit.net!jupiter.opentransit.net!m2newsfeed.uni2.es!m2newsread.uni2.es.POSTED!not-for-mail From: Fer <ESTOSOBRAsupertabi@hotmail.com> 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 Subject: Re: Programacion con GOTO Message-ID: <tk2t1t0iv4v7ncrv9e891rt2eetq92k22p@4ax.com> References: <zXhQ5.698$cQ5.16259@m2newsread.uni2.es> <8utqmr$4kd$1@diana.bcn.ttd.net> <3A14626A.B5C7A11B@BORRAR.megaiweb.com> X-Newsreader: Forte Agent 1.8/32.548 MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Lines: 58 Date: Fri, 24 Nov 2000 17:32:58 GMT NNTP-Posting-Host: 62.36.146.228 X-Complaints-To: abuse@wanadoo.es X-Trace: m2newsread.uni2.es 975087178 62.36.146.228 (Fri, 24 Nov 2000 18:32:58 MET) NNTP-Posting-Date: Fri, 24 Nov 2000 18:32:58 MET Organization: Servidor Usenet News de Uni2/Wanadoo