On Thu, Sep 17, 2009 at 1:07 AM, Gabriel Genellina
<gagsl-py2@???> wrote:
> En Wed, 16 Sep 2009 16:41:20 -0300, Daniel Moisset <dmoisset@???>
> escribió:
>>
>> 2009/9/16 Alejandro Santos <alejolp@???>:
>>>
>>> Ahora, el asunto del break que no se puede usar es muy subjetivo. Eso
>>> data de lo que se conocia como "programación estructurada" cuando la
>>> gente programaba en cosas raras como COBOL o Pascal donde tenias
>>> codigo horroroso. La idea es que, dada una función, puede haber un
>>> solo flujo de código (de ahi que tambien el goto no está bien visto).
>>
>> [OT] pero lo que decís de pascal es justamente al revés... pascal fue
>> de los primeros lenguajes sin break (ni instrucciones de flujo de
>> control que no sean "single entry-single exit"), justamente por
>> purismo en ese sentido.
>
> Y todo esto ya se discutió 35 años atrás...
>
Y aún hoy en día se sigue discutiendo:
http://kerneltrap.org/node/553/2131
Bien usado, un goto puede ser muy útil y puede ayudar a obtener un
código muy claro y legible. Uno de los mejores usos que conozco de la
sentencia goto está en el Kernel de Linux.
La idea básica es usar un goto para ejecutar código de inicialización
y destrucción/limpieza en forma de stack, muy similar a como hace C++
con los constructores y destructores.
Python lo soluciona con un try:/finally: pero en C puro (lo que usan
en el Kernel de Linux) no hay tal cosa.
Saludos,
--
Alejandro Santos,
http://www.alejolp.com.ar
---------------------------------------------------------------------
Para dar de baja la suscripcion, mande un mensaje a:
pyar-unsubscribe@???
Para obtener el resto de direcciones-comando, mande un mensaje a:
pyar-help@???
PyAr - Python Argentina - Sitio web:
http://www.python.com.ar/