elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ¿Por qué es no recomendable el uso de "goto"?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: ¿Por qué es no recomendable el uso de "goto"?  (Leído 15,350 veces)
Draklit


Desconectado Desconectado

Mensajes: 564



Ver Perfil WWW
¿Por qué es no recomendable el uso de "goto"?
« en: 1 Julio 2011, 22:35 pm »

Bueno, me gustaría si me aclaran esa duda ya que no estoy tan seguro al respecto :huh:


En línea

Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: ¿Por qué es no recomendable el uso de "goto"?
« Respuesta #1 en: 1 Julio 2011, 22:58 pm »

Busca en el buscador que ya se hablo hace poco de esto.


En línea

WaAYa HaCK

Desconectado Desconectado

Mensajes: 292


Arduino, Android and music


Ver Perfil
Re: ¿Por qué es no recomendable el uso de "goto"?
« Respuesta #2 en: 2 Julio 2011, 00:24 am »

Básicamente es porque un montón de saltos en el código de un programa puede resultar muy engorroso de leer. Si haces un code con 86 goto's, el que lea el código se va a volver loco.

Saludos!
En línea

La cacatúa yoyó es nueva en el zoo!
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: ¿Por qué es no recomendable el uso de "goto"?
« Respuesta #3 en: 2 Julio 2011, 04:25 am »

No soy partidiario del código spaguetti, pero a veces usar goto facilita las cosas, aunque no sea necesario.

If You Want To Go Somewhere, Goto Is The Best Way To Get There. -- Ken Thompson

En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Foxy Rider


Desconectado Desconectado

Mensajes: 2.407


Deprecated


Ver Perfil WWW
Re: ¿Por qué es no recomendable el uso de "goto"?
« Respuesta #4 en: 3 Julio 2011, 12:14 pm »

+1 a leo, la difamación al goto es ... básicamente culpa de Dijkstra y es perdonable, la fecha del paper ("Go To Statement Considered Harmful" -> PDF : http://ur1.ca/bbpu ) es de 1968 y vale pensar qué lenguajes había en esa época.
Es un groso, pero faileó con esto ... muchos repiten lo que el dijo, que repitieron sus profesores y así (y siempre cosas exageradas y sin sentido) ... sin saber de donde salió lo de "código spaghetti" y lo más importante para preguntar : ¿por qué?
por que muchos se conforman con una explicación "pedorra" u otros siquiera preguntan debidamente y aceptan pasivamente lo que el profesor dice mientras dicen "ok, goto no, goto no, goto no, listo, ya lo memoricé"

En diaspora hace poco hubo un debate muy interesante sobre goto que empezó por un chiste ( http://blog.susam.in/2011/06/urls-in-c.html ) y se escribieron muchas cosas.
Una de ellas revivió un viejo debate en las listas de Linux que te aconsejo leer (por que sí, linux usa goto en varios lugares, así como el código del kernel de FreeBSD en partes de muy bajo nivel -por cierto-) : http://kerneltrap.org/node/553/2131

goto es una herramienta del lenguaje, y como tal hay que saber cuando se usa y cuando no. hay lugares donde un goto tiene más sentido que cualquier otra cosa y viceversa ...

Saludos.

« Última modificación: 3 Julio 2011, 12:21 pm por vertex@Symphony » En línea

WaAYa HaCK

Desconectado Desconectado

Mensajes: 292


Arduino, Android and music


Ver Perfil
Re: ¿Por qué es no recomendable el uso de "goto"?
« Respuesta #5 en: 3 Julio 2011, 14:24 pm »

Pues claro que sí, alguien puede decir que los comentarios en un código no sirven para una *****, pero yo diría que sí que sirven.

Dicen que no es recomendable usar goto... si hay una opción mejor, pero en muchos casos goto sirve para mucho. En batch, por ejemplo.
Saludos!

PD: Leo, me gustó la frase... +1
En línea

La cacatúa yoyó es nueva en el zoo!
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: ¿Por qué es no recomendable el uso de "goto"?
« Respuesta #6 en: 3 Julio 2011, 18:57 pm »

Leyendo el código de los comandos del SO opensolaris te lo llegas a encontrar bastante seguido así que... no está tan prohibida su práctica.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: ¿Por qué es no recomendable el uso de "goto"?
« Respuesta #7 en: 4 Julio 2011, 02:51 am »

En mi opinión, tal y como dice vertex@symphony, habrá circustancias en las que se imponga razonadamente el uso de goto y otras en las que no sea así. Lo que yo considero es que, en lo que viene siendo la disciplina de programación, cuando se están dando los primeros pasos, no es una buena técnica, ya que puede llegar a acostumbrar al "futuro programador" a solucionar cualquier situación con un goto sin pararse a pensar en otros aspectos del problema.

Es una sentencia más del lenguaje sí, y la habrán usado en innumerables ocasiones, pero eso no significa que sea recomendable su uso, que es lo que pregunta Draklit. Creo que si se hace un uso "razonable" de la instrucción, sin abusar de ella ante cualquier situación, es una instrucción tan válida como el resto. Sin embargo, cuando la cosa ya comienza a ser un cachondeo de goto's por todo el código ante el más mínimo inconveniente, lo considero la peor técnica del mundo. Así que supongo que la cosa estará en encontrar un punto medio y no volverse loco poniendo instrucciones de este tipo.

Yo sinceramente veo más lógicas estas instrucciones en bajo nivel, ya que las sentencias de control son mínimas. Pero en lenguajes de alto nivel, donde existen muchas otras sentencias de control de flujo...no la considero indispensable.

Saludos.
En línea

[Zero]
Wiki

Desconectado Desconectado

Mensajes: 1.082


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: ¿Por qué es no recomendable el uso de "goto"?
« Respuesta #8 en: 4 Julio 2011, 03:24 am »

Pues yo discrepo, aparte de que tal vez el código se vuelva más confuso a la hora de leer (o al contrario, la mayoría de situaciones que se prestan a usar un goto es porque lo ves más claro), lo más importante es que choca con el resto de estructuras de control. Toda estructura de bucle o condición te permite ir a donde quieres, y me parece que si no utilizas estas salidas de las estructuras "estándar" y añades un goto, 1º, complicas el algoritmo, y 2º, tal vez el compilador genere un código menos optimizado. Además, a la hora de ver el código, al menos a mí, no sé si por costumbre, un vistazo a estas estructuras ya te da una idea precisa del algoritmo, mientras que, tal vez, de utilizar un goto debes releer el código y seguirle la pista al flujo de ejecución de instrucciones. Igual que el uso de break y continue, es más gusto personal que otra cosa seguramente, pero aún complicando el algoritmo para no utilizarlos, me parece que éste queda mejor reflejado sin ellos.

En resumen, yo no veo razonable el uso de un goto en ningún caso.

Saludos
En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
Akai


Desconectado Desconectado

Mensajes: 823



Ver Perfil
Re: ¿Por qué es no recomendable el uso de "goto"?
« Respuesta #9 en: 4 Julio 2011, 15:22 pm »

por que sí, linux usa goto en varios lugares

En bastantes de hecho.

@[Zero]:

En una charla de FOSDEM 2010 (me parece que era 2010, sino, 2011) Greg Kroah-Hartman en la charla "Write and Submmit your first Kernel Patch" comenta acerca que:

dado el carácter multihilo del kernel que cuando en una función haces locking a algo y por un caso finalizas es más simple saltar al final de la función donde en cualquier caso sea funcionamiento normal o anormal vas a hacer los unlocks necesarios que duplicar el codigo para desbloquear (esta última es más propensa a errores)
En línea

Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
"""BUSCO EJEMPLO VB PARA ENVIAR MAILS""""
Programación Visual Basic
gera 1 6,321 Último mensaje 1 Septiembre 2005, 00:14 am
por programatrix
De donde puedo descargar utilidades: "Formas", "Estilos", "Motivos", D
Diseño Gráfico
Ad0nis 2 8,348 Último mensaje 2 Septiembre 2006, 15:48 pm
por Ad0nis
[Ayuda] modificar "start page" en "internet explorer" con "batch"
Scripting
taton 7 16,591 Último mensaje 20 Septiembre 2006, 01:45 am
por taton
Propiedad "Interprete"/"Artista"/"Autor" de una canción
Windows
Castg! 4 8,219 Último mensaje 16 Junio 2010, 07:58 am
por Roy-Mustang
Sistema>>Administracion>> ""No me aparece "Servicios""""
GNU/Linux
yoyoalee 4 9,085 Último mensaje 13 Febrero 2011, 18:34 pm
por leogtz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines