Ver Mensaje Individual
  #36 (permalink)  
Antiguo 16/04/2006, 11:03
MaxExtreme
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 13 años, 8 meses
Puntos: 17
Cita:
Iniciado por enriqueplace
Hay lenguajes que lo implementan, otros que lo eliminaron, etc, pero finalmente todos los argumentos apuntan a desaconsejar su uso (esté disponible o no) por un problema de "diseño".
Y dale con el diseño. El diseño corre a cargo del programador, no del lenguaje. Si quieres usar inadecuadamente las características del lenguaje, éste no debe prohibírtelo.

El "goto" es necesario. Es más, en ciertos lenguajes, de pasar a ser "goto" a pasado a ser mejorado.

Por ejemplo, C++ mejoró el "goto" de siempre permitiendo definir variables que hacían referencia a etiquetas estáticas. Mientras antes usabas el "goto" a una etiqueta, ahora le puedes hacer a una variable que contenga a la etiqueta.

Así que fíjate cómo ha decaído ;) Al revés, es un concepto interesante el poder hacer saltos así de manera portable entre plataformas.



Cita:
Iniciado por enriqueplace
La propia gente de Java no incluye esta posibilidad porque se adhieren al mismo principio: "evitar el uso del goto moderno".
Querrás decir que los de Sun tratan de abolir ciertas técnicas de programación que han estimado malas. El "goto" no es posible eliminarle en C/C++ por ejemplo, simplemente es necesario disponer de una alternativa portable para realizar saltos incondicionales.



Cita:
Iniciado por enriqueplace
Me imagino que aquí querrás decir "no me es válida". No conozco la historia de su creación, pero perfectamente se pudo haber creado y luego haber desaconsejado (ídem famoso caso "goto").
No, quiero decir lo que he escrito. Un argumento que critica algo calificándolo de "malo" es subjetivo, y por tanto no es un argumento. Será malo para ti, para otro quizás no.



Cita:
Iniciado por enriqueplace
ídem famoso caso "goto"
El "goto" existe (y seguramente existirá) porque es el equivalente a la instrucción "jmp" de ensamblador, se debe dejar al programador la libertad de usarla, y en algunos casos concretos es útil.

Nadie inventó el goto, existía desde que nacieron los procesadores. Y luego no se desaconsejó, sino que se instó a los programadores novatos que aprendiesen a no sobreexagerar su uso y que aprendieses las maneras correctas de hacer las cosas, como se sigue haciendo.

La herencia múltiple, es otra cosa. Es no equivale a un "jmp", sino a muchas más cosas, y hubo que diseñarlo tranquilamente. A mi parecer, si sigue existiendo en ciertos lenguajes que han evolucionado, es porque a mucha gente le ha interesado o ha dado razones para que esté ahí.


PD: No desviemos el tema al "goto".