[OT] Re: Error de Mysql y como arreglarlo

Miguel Angel Garcia magmax9 en yahoo.es
Mie Dic 29 17:49:40 CET 2004


Independientemente de la forma en que se utilice el "goto", estarás de
acuerdo conmigo en que rompe la ejecución normal del programa. Es el
mismo caso que "return", "continue" o "break" (no sé si todas ellas
están en python). Sin embargo, el ámbito de uso de estas tres
instrucciones queda reducido a la propia función, como mucho. 

"goto" es una instrucción cuyo ámbito no está definido, y no sólo puede
cambiar el flujo normal del programa, sino también su estructura.

En ensamblador no se puede hacer otra cosa: o se utiliza "goto" o la
hemos liao :) . Sin embargo, en los lenguajes de alto nivel no debería
utilizarse. Los casos en los que podría pensarse el utilizar "goto" se
pueden contar con los dedos de una mano. A menudo existe otra solución
más simple, segura, eficiente, bonita, lógica o, simplemente mejor
estructurada de hacer las cosas que utilizar un "goto".

Si a esto le añadimos que estamos hablando de python, un lenguaje de muy
alto nivel que está orientado a objetos, no veo lógico utilizar "goto".
Te aseguro que puedes hacer máquinas de estados en python sin utilizar
"goto"s.

De todas maneras, estoy seguro que estás de acuerdo conmigo con que es
muy sencillo _abusar_ del "goto". Y usarlo mal es peor que tener un
"main" de mil y pico líneas... ;D


PD: me has dejao con la mosca detrás de la oreja... Para programar una
máquina de estados se podría utilizar un vector de punteros a función.
¡Quedaría muy chulo! (y no se utiliza goto). ¿Qué opinas?


El mié, 29-12-2004 a las 10:05 +0100, Chema Cortés escribió:
> El Martes, 28 de Diciembre de 2004 23:47, Miguel Angel Garcia escribió:
> > Y... ¡Por favor! Aunque un lenguaje tenga la instrucción maldita, ésta
> > NUNCA se debe usar. Jamás de los jamases ;)
> >
> > Si quieres saber por qué, te remito al libro "la práctica de la
> > programación", de un tal Kernighan (muy recomendable).
> 
> Aunque estoy de acuerdo en que no hay que abusar del goto, no lo estoy tanto 
> como para descartarlo.
> 
> Hace bastante tiempo vi un artículo de una revista (DrDobb's) que implementaba 
> una máquina de estados con gotos. El goto quedaba oculto dentro de un macro 
> de C que lo hacía seguro de usar y bastante simple de entender.
> 
> No hay que olvidar que hay cosas similares al goto que se usan bastante como 
> los 'longjumps' de C o los "continuadores" del stackless-python.
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Esta parte del mensaje está firmada	digitalmente
URL: <http://mail.python.org/pipermail/python-es/attachments/20041229/61a0b966/attachment.pgp>
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es