🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes
Article #185

RE: Programacion con GOTO

#185
From: Pepito
Date: Wed, 15 Nov 2000 00:00
48 lines
2685 bytes
Hola a todos,

Voy a romper una lanza en favor del goto.

En primer lugar debo decir que soy programador profesional de C/C++ desde
hace 8 a�os y en la facultad nos ense�aron a NO utilizar el goto JAM�S.
Estuve muchos a�os sin utilizar esa instrucci�n, pero recientemente he
llegado a la conclusi�n de que en ciertos casos puede ayudar a simplificar
el c�digo y hacerlo mas legible, adem�s por supuesto que se puede optimizar
mucho mas el c�digo y optimizar ciertos algoritmos.

Pongamos un ejemplo:

int funcion ()
{
 ...
 x= new X
 for () {
  for () {
   ...
   if () {
    // Se produce un error, �que hacemos?, hay tres opciones:
    // opci�n 1) return -1 (error no se hace el delete)
    // opci�n 2) break (debemos guardar un valor de control en una variable
para salir luego del bucle externo)
    // opci�n 3) goto fin: (soluci�n limpia y r�pida)
   }
  }
 }

fin:
 delete x;
 ...
}

De todos modos nosotros cuando programamos estamos utilizando sin saberlo el
goto de forma intensiva:
- Al hacer un return en el medio de una funci�n.
- Instrucciones del tipo break y continue (en for y while).
- Manejo de excepciones.
- Instrucci�n case.

Por lo tanto la conclusi�n es que no es ni blanco ni negro. Ya que tenemos
una instrucci�n (goto) para modificar el flujo del programa hay que intentar
aprovecharla cuando nos sea beneficioso y por supuesto haga mas legible y
r�pido el c�digo.

Saludos.
Technical Details
Message-ID: <8utqmr$4kd$1@diana.bcn.ttd.net>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <zXhQ5.698$cQ5.16259@m2newsread.uni2.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: 105378,9ebb41239b0c5eaa
X-Google-Attributes: gid105378,public
X-Google-Thread: f78ff,9ebb41239b0c5eaa
X-Google-Attributes: gidf78ff,public
X-Google-Thread: f59de,9ebb41239b0c5eaa
X-Google-Attributes: gidf59de,public
X-Google-Thread: f86c8,9ebb41239b0c5eaa
X-Google-Attributes: gidf86c8,public
X-Google-Thread: 1116f3,9ebb41239b0c5eaa
X-Google-Attributes: gid1116f3,public
X-Google-Thread: 10d088,9ebb41239b0c5eaa
X-Google-Attributes: gid10d088,public
From: "Pepito" <kit1972@hotmail.com>
Subject: RE: Programacion con GOTO
Date: 2000/11/15
Message-ID: <8utqmr$4kd$1@diana.bcn.ttd.net>
X-Deja-AN: 693852089
References: <zXhQ5.698$cQ5.16259@m2newsread.uni2.es>
X-Priority: 3
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300
Organization: Telefonica Transmision de Datos
X-MSMail-Priority: Normal
Reply-To: "Pepito" <kit1972@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