OT: php te daña la cabeza

Roberto Bonvallet rbonvall en alumnos.inf.utfsm.cl
Jue Jul 27 11:23:17 CLT 2006


Horst H. von Brand:
> Yo tambien. Pero indento segun un esquema logico, que no necesariamente
> coincide con la sintaxis.
> 
>    fprintf(stderr, "Este es un mensaje de error "
>                    "demasiado largo.\n"
>                    "Incluso no cabe en una linea, "
>                    "y debe cortarse en varias.\n"
> 		   "Algunos datos: i es %d, j es %d, k es 0x%3x\n",
>                    i, j,
>                    calcule_el_valor_de_k_mediante_una_compleja_expresion());
[...]

> > Podria dar un ejemplo en que no coincidan?  A mi se me ocurren puros
> > ejemplos con goto, que no existe en Python.
> 
> Ver arriba. Ver los dos if anidados que di en el ejemplo anterior.

Por los ejemplos que propone, pareciera que Python impone un regimen de
tipo stalinista respecto a estructura visual del codigo.  La realidad es
que Python si acepta:
  - if anidados
  - if dentro de un else (usando elif, el hermano del elsif de Perl)
  - lineas en blanco
  - multiples sentencias por linea (punto y coma separa, como en Perl)
  - lineas del tipo "if condition: dosomething()"
  - cortar una linea larga y alinear las partes a gusto
  - escribir una lista (arreglo) literal en varias lineas, indentadas como sea
  - concatenacion automatica de strings (como en C)

La unica diferencia con C es que en vez de abrir llave se indenta, y en vez
de cerrar llave se desindenta.

[...]
> La division de texto en lineas, paginas, etc es arbitraria en el lenguaje
> natural, i.e., los espacios no tienen significado particular.

"Projects promoting programming in natural language are intrinsically doomed
to fail." -- Edsger Dijkstra

-- 
Roberto Bonvallet


Más información sobre la lista de distribución Linux