OT: php te daña la cabeza

Roberto Bonvallet rbonvall en alumnos.inf.utfsm.cl
Jue Jul 27 03:43:36 CLT 2006


Horst H. von Brand:
> > En todos los lenguajes se utiliza indentacion para marcar los bloques.
> 
> No Pascal. No C. No Perl. No Ruby, TCL. Ni FORTRAN, PL/1, ni assembler. No
> lo hacen Prolog, Scheme (nada LISPico, como Common LISP o elisp), ni APL.
> Tampoco los shell de Unix, o awk. No lo hace (La)TeX, o m4, o troff.

No me refiero a lo que leen los parsers, sino los programadores.  Por lo
menos yo me guio por la indentacion para entender el codigo en todos los
lenguajes.  Yo indento hasta LaTeX y HTML.

> El espacio en blanco (indentacion et al) se usa para describir la
> estructura /logica/, que no necesariamente coincide con la estructura
> /sintactica/.

Podria dar un ejemplo en que no coincidan?  A mi se me ocurren puros
ejemplos con goto, que no existe en Python.

> El creer que la sintaxis describe univocamente la semantica es un error
> que se cometio con COBOL, y debiera haberse aprendido la leccion ya...

En Python, la indentacion sirve solamente para agrupar bloques, lo mismo
que {} en C.  No hay reglas especiales ni casos rebuscados cuya semantica
sea distinta a la de {}.

-- 
Roberto Bonvallet


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