Respondo en línea respecto del último argumento: "Esto le produce indigestion a los esquemas "indentacionistas" y considerando que Python es un lenguaje "indentacionista".
On Wed, 2006-07-26 at 16:17 -0400, Horst H. von Brand wrote: > Juan Carlos Muñoz Ilabaca <[EMAIL PROTECTED]> wrote: > [...] > > me dan algo más fácil de usar, que me ahorra código y me ahorra el > > problema tÃpico del cerrado de llaves (que muchos programadores > > simplificaron con el abrir y cerrar al comenzar un bloque), pero me > > quitaron las llaves... asà que no me sirve... > > El "me ahorro un par de lineas de codigo" es totalmente irrelevante. > > Mi molestia es casos como: > > if(algo) > haga_caso_algo(); > else if(otro) > haga_caso_otro(); > else > haga_ninguno_de_los_dos(); > > vs > > if(algo) > haga_caso_algo(); > else > if(tipo_uno_caso_no_algo) > haga_tipo_uno(); > else > haga_tipo_dos(); > > Sintacticamente ambos son iguales, pero en el primer caso veo si es algo u > otro (o ninguno); en el segundo veo si es algo o no, en caso que no lo sea > hay una nueva (sub)discriminacion. Logicamente son diferentes. No hay problema en Python. > A veces es comodo escribir cosas como: > > if(ta_bueno) return 0; En Python también es posible: if ta_bueno: return 0 > y no tener que poner lineas extra. > > O tambien el poder decir: > > x = 0; y = 1; z = 2; > > y no verme forzado "por la indentacion standard" a poner estas tres > instrucciones que /logicamente/ son una unidad ("asignar las coordenadas > de...") en tres lineas. En Python también es posible hacerlo: (x, y, z) = (0, 1, 2) > Tengo la costumbre ademas de separar con lineas en blanco secuencias de > instrucciones que conforman unidades logicas, p.ej. las lineas que > actualizan "juntos" los punteros al actualizar una estructura compleja, o > una secuencia de operaciones que inicializan/actualizan un struct > particular. Esto le produce indigestion a los esquemas "indentacionistas" Suelo hacer lo mismo y en Python es completamente válido poner líneas en blanco entre medio. Se entiende que el siguiente bloque continua con la misma indentación. IMHO, no es un problema que el lenguaje obligue o no a indentación, al menos en el caso de Python. Tiendo a pensar que ocurre al intentar forzarse escribir en un lenguaje X con el estilo de lenguaje Y. Parafraseando a Peter Norvig (Director de investigación de Google), puede ocurrir al "aprender la sintaxis" de un lenguaje, pero no a pensar en "como en usar la sintaxis". Siendo, no encuentro difícil encontrarse con tales trabas. Para los curiosos, la mención que hago de Peter Norvig corresponde a la nota breve que escribe "Teach Yourself Programming in Ten Years"[1], el cual no habla de los lenguajes indentados o no. Pero la cita sigue siendo válida. [1] http://www.norvig.com/21-days.html -- Germán Poó-Caamaño http://www.ubiobio.cl/~gpoo/ Concepción - Chile