Amigos mios... Ya estan lateando.... hace Ernesto del Campo C.
> -----Mensaje original----- > De: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] En nombre de Horst > H. von Brand > Enviado el: jueves, 27 de julio de 2006 9:52 > Para: Discusion de Linux en Castellano > Asunto: Re: OT: php te daña la cabeza > > Roberto Bonvallet <[EMAIL PROTECTED]> wrote: > > 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, > > Ese es el lenguaje! > > > sino los programadores. > > Precisamente... > > > > Por > > lo menos yo me guio por la indentacion para entender el codigo en > > todos los lenguajes. Yo indento hasta LaTeX y HTML. > > 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()); > > Cuando escribo LaTeX, pongo una idea/frase por linea. Si > requiero continuar algo (p.ej. poner una nota al pie de > pagina) la indento con respecto a la linea citada. Muchas > expresiones matematicas resultan muy largas: > > \begin{equation} > \label{eq:k-rev} > \hat{u}(s, \sigma_k) = \hat{u}(s, {\sigma_k}') \Longrightarrow > \sigma_k = {\sigma_k}' > \quad\mbox{for all \(s \in S\)} > \end{equation} > > Cero relacion con la sintaxis del caso. > > > > 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. > > Ver arriba. Ver los dos if anidados que di en el ejemplo anterior. > > > > 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 {}. > > Precisamente: Usa /espacio en blanco/ (por definicion > invisible, por convencion muy general (casi) sin importancia) > para describir /sintaxis/. > La division de texto en lineas, paginas, etc es arbitraria en > el lenguaje natural, i.e., los espacios no tienen significado > particular. No aparecen siquiera en la gramatica que nos > inculcaron en ensen~anza basica... > -- > Dr. Horst H. von Brand User #22616 counter.li.org > Departamento de Informatica Fono: +56 32 654431 > Universidad Tecnica Federico Santa Maria +56 32 654239 > Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513

