Está claro que no se puede pontificar y decir que un goto es anatema el 100% de las veces. Hay casos en los que puede estar justificado, pero son muy puntuales, y por eso es mucho más cercano a la realidad decir "no se pueden usar gotos" que decir lo contrario.
Y fíjate como en el fragmento que citas de la wikipedia hablan sobre todo gente de bajo nivel, como Torvalds o el mismo Knuth. Según "subes" hacia arriba, el uso de gotos deja de tener sentido, hasta que pasa de ser algo bastante razonable a ser casi una aberración. Y aquí no hablamos del kernel, ni siquiera de iOS, lo han hecho en Safari, que es una aplicación de usuario en la que, francamente, dudo mucho que se pueda apreciar ninguna mejora en el rendimiento. Pero en cambio sí parece claro que a lo que ha afectado (que de eso va la noticia) es a la mantenibilidad del código.
No prefiero evitar razones ni nada de esas cosas que asumes que hago yo. Pero si alguien me pregunta "¿conviene usar gotos?" y no tengo tiempo de convocar una mesa redonda de expertos para debatir la problemática, prefiero contestar "no, no se puede" que "sí, por supuesto". Creo que se acerca más a la respuesta real, que como todo en esta vida tiene muchos matices y depende del caso. No todo en la vida es verdadero o falso.
No había visto que en realidad era cosa del sistema operativo. Eso cambia la cosa, y habría que ver porque quizá entonces sí tiene sentido. De todas maneras, que por sustituirlo con un return se mantenga el bug no quiere decir que el error no venga de usar el goto. Habría que ver el código, el error y sus causas.
Re:Es que no es una aplicacion de usuario
(Puntos:2)Y fíjate como en el fragmento que citas de la wikipedia hablan sobre todo gente de bajo nivel, como Torvalds o el mismo Knuth. Según "subes" hacia arriba, el uso de gotos deja de tener sentido, hasta que pasa de ser algo bastante razonable a ser casi una aberración. Y aquí no hablamos del kernel, ni siquiera de iOS, lo han hecho en Safari, que es una aplicación de usuario en la que, francamente, dudo mucho que se pueda apreciar ninguna mejora en el rendimiento. Pero en cambio sí parece claro que a lo que ha afectado (que de eso va la noticia) es a la mantenibilidad del código.
Re:Es que no es una aplicacion de usuario
(Puntos:2)No había visto que en realidad era cosa del sistema operativo. Eso cambia la cosa, y habría que ver porque quizá entonces sí tiene sentido. De todas maneras, que por sustituirlo con un return se mantenga el bug no quiere decir que el error no venga de usar el goto. Habría que ver el código, el error y sus causas.