🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes
Article #178

Re: Programacion con GOTO

#178
From: Fer
Date: Fri, 24 Nov 2000 17:32
57 lines
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-mail
References: <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