Pregunta

Pierdo tiempo preocupándome por el estilo, p.e.espaciado, sangría de línea, etc.

Pierdo tiempo adaptándome a diferentes estilos entre proyectos.

¿Por qué se flexibilizan los idiomas en este sentido?¿Por qué no exigir un formato muy estricto?

¿Fue útil?

Solución

Bueno, un buen ejemplo instructivo sería observar lo que pasó con Pascal y el ; separador de comandos.

La regla que se le ocurrió a Nicklaus Wirth (el diseñador de Pascal) fue que el ; iba a usarse para separar declaraciones dentro de un bloque.Esto es sensato desde la perspectiva del compilador, porque esa es la única situación en la que se requiere estrictamente un elemento sintáctico para resolver la ambigüedad.Además, normalmente ya se hace con la coma, por lo que el código para manejarlo está ahí.

El problema es que es una regla extraña y difícil de entender para los codificadores humanos.Tampoco es estable ante los cambios;Si agrega o elimina una línea al final del bloque, debe cambiar qué línea no tiene punto y coma.La mayoría de los usuarios de Pascal terminaron con una fase completa en cada ciclo de codificación/depuración que se reducía a que su compilador les escupiera errores hasta que consiguieron el punto y coma correcto.Llegarían a odiarlo y, por extensión, odiarían a Pascal.

Combine esto con el concepto relativamente nuevo de escritura fuerte que introdujeron Pascal y sus descendientes, y tuvo algunos desarrolladores muy irritables.Empezaron a llamar a Pascal y a sus semejantes. lenguajes de esclavitud y disciplina, y gravitó hacia lenguajes más permisivos como C.Esto tuvo el efecto de retrasar el crecimiento de muchos lenguajes mejores, todo porque alguien con un buen concepto teórico hizo de su lenguaje un PITA para usar.

Para lenguajes diseñados posteriormente, Nicklaus Wirth aprendió la lección y definió el punto y coma como comando. terminadores, no separadores.Por supuesto, los diseñadores de C fueron un paso más allá y permitieron que los puntos y coma adicionales fueran elementos de sintaxis legales (pero ignorados).

Otros consejos

Presumiblemente, la opción de que un usuario defina su propio estilo (ya sea que lo apliquen algunas reglas del editor) es preferible a un lenguaje que fuerce un cierto estilo como parte de su sintaxis.Sin embargo, algunos idiomas son un poco más estrictos cuando se trata de reglas particulares.Por ejemplo, hay una 'función' en Haskell mediante la cual una línea determinada debe tener una sangría mayor que alguna línea anterior relacionada para que funcione correctamente (he olvidado el nombre de esta característica del lenguaje en particular, pero estoy seguro de que alguien lo sabe).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top