Terminar FORs anidados

Started by Hola, November 25, 2017, 10:16:56 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Hola

Okay..., grax por las respuestas!

Drumpi

A ver, Panreyes, explica tu desacuerdo :D
La verdad es que eso de "romper" no suena nada bien, y siempre hay otras  formas de hacer las cosas. A lo mejor no tan eficientes, por aquello de tener que acabar el contenido del bucle, pero creo recordar que break lo hemos heredado de Basic, un lenguaje que no se caracteriza por sus "buenas maneras" según más de uno (con sus famosos GOTO y demás :D)... y al que le llevo cogiendo asco más de dos semanas ^^U
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

panreyes

Quote from: Drumpi on December 02, 2017, 01:05:59 AM
A ver, Panreyes, explica tu desacuerdo :D
La verdad es que eso de "romper" no suena nada bien, y siempre hay otras  formas de hacer las cosas. A lo mejor no tan eficientes, por aquello de tener que acabar el contenido del bucle, pero creo recordar que break lo hemos heredado de Basic, un lenguaje que no se caracteriza por sus "buenas maneras" según más de uno (con sus famosos GOTO y demás :D)... y al que le llevo cogiendo asco más de dos semanas ^^U

No hace falta que lo explique mucho. De todas formas, no es lo mismo GOTO que BREAK (aunque BREAK es un tipo de GOTO).

El resumen: un diseño perfecto no requiere BREAKs, ni en programación estructurada, ni orientada a objetos...
Pero cuando haces pequeñas cosas, te pones a escribir código sin preocuparte tanto por dicho diseño y es más cómodo tirar de breaks. That's it.

SplinterGU

a ver... para ambos dos...

toda instruccion que exista en un lenguaje, y sea la forma optima y mas corta o performante de hacer algo, se use y funciona... es, estilosa y de diseño perfecto...

en el caso en concreto de un break, la funcion es exactamente para eso, para romper un bucle... en lo que a mi concierne es la mejor forma de salir de uno, para eso fue creada...

y el goto es perfectamente valido, si se necesita...

no existe instruccion mala palabra... si asi lo fueran no existirian...

el problema no esta en usar un goto o un break, el problema esta en usarlos cuando no son necesarios... y repito en el caso de querer salir de un bucle en medio de un codigo, el break es lo correcto...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

panreyes

Quote from: SplinterGU on December 04, 2017, 02:38:10 AM
a ver... para ambos dos...

toda instruccion que exista en un lenguaje, y sea la forma optima y mas corta o performante de hacer algo, se use y funciona... es, estilosa y de diseño perfecto...

en el caso en concreto de un break, la funcion es exactamente para eso, para romper un bucle... en lo que a mi concierne es la mejor forma de salir de uno, para eso fue creada...

y el goto es perfectamente valido, si se necesita...

no existe instruccion mala palabra... si asi lo fueran no existirian...

el problema no esta en usar un goto o un break, el problema esta en usarlos cuando no son necesarios... y repito en el caso de querer salir de un bucle en medio de un codigo, el break es lo correcto...
Completamente de acuerdo. Yo me refiero a los puristas conceptuales, esos son los que dicen que los break y los goto no se deben usar nunca. En su defecto, según su opinión, se debe usar una cantidad ingente de IFs extra.

Drumpi

En eso estamos de acuerdo, pero también estaréis de acuerdo en que, usando el propio lenguaje, hay quien hace auténticas barbaridades. Por eso existen los libros de estilo que absolutamente nadie se los lee, y que en ocasiones no es para que hayan IFs de más o cosas así, son porque probablemente el compilador sea más eficiente usando esas reglas, o por motivos de portabilidad.
Ejemplos de esto último tenemos a Android, que es por lo que hay que hacer mil pruebas en diversos dispositivos para ver que funciona, o GP2X/Wiz, que se suponían que eran compatibles si se usaban bien las librerías oficiales, y casi ningún juego lo ha sido porque la gram mayoría usaba las librerías no oficiales (aunque claro, si se gana un 40% de rendimiento, merece la pena).

Hace una semana estaba con VB6, y tuve problemas para saber si un array valía NULL, porque no se puede comparar un array, con NULL, Nothing ni nada or el estilo. Sólo me dieron dos soluciones: controlar la excepción, o negar dos veces el valor del puntero al array, porque así daba cero cuando no se había inicializado... la mayor parte de las veces.
Las dos son soluciones válidas, admitidas por el lenguaje, y por la amplia mayoría del reducido grupo que aun usa VB6, pero dudo que ninguna de las dos sea una respuesta correcta al problema planteado :D :D :D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Futu-block

ya entiendo porque dicen que visual basic es un canser...

Drumpi

No es un cáncer, es... diferente. Depende del VB que cojas puede ser tan simple como copiar código C# y cambiar 4 tonterías, o ser algo tan frustrante y peligroso como un script en PHP o cualquier lenguaje de diseño web.
En serio, VB6 es propenso a tragarse errores garrafales y hacer como que funciona (hoy, por ejemplo, se ha tragado que no declarase un select case, y escribiera a continuación varios cases). No admite ; para terminar una línea, y en lugar de intro hay que usar el tabulador para usar el autocompletar ¡El entorno ni siquiera me deja usar la rueda del ratón en el editor de código!

Este puente pienso ponerme, aunque sea un par de horitas, a programar Bennu, a ver si me desintoxico :S
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)