Me pregunto si alguien puede explicar el razonamiento del diseño detrás de las siguientes características de autpolisp/visual lisp? Para mí, parecen estar en contra de la práctica de software aceptada ... ¿me estoy perdiendo algo?¿Alguien puede explicarme las decisiones de diseño detrás de Autpolisp/visual lisp?
- Todas las variables son globales por defecto (es decir, a no ser que se coloca después de un
/
en los argumentos de la función) - de datos de lectura/escritura de AutoCAD requiere poner cosas en una lista de asociación con una gran cantidad de números mágicos.
10
medios coordenadas x/y,90
significa longitud de la lista de coordenadas,63
significa color, etc. Ok podría almacenar estos en algunas constantes pero eso significaría aún más globales, y la documentación que anima a usar los números mágicos directamente. - Lisp es un lenguaje de estilo funcional, lo que anima a la programación por recursión sobre iteración, pero la recursión de cola que yo sepa, no se ha optimizado en Visual LISP que conduce a las pilas de llamadas horrendos - a menos que, por supuesto iterar. Pero la sintaxis de bucle es muy restrictiva; p.ej. no puede salir o devolver un valor de un bucle a menos que coloque algún tipo de indicador en la condición de terminación. Resultado, código feo.
- Generalmente se ven obligados a declarar las variables de todo el lugar que va en contra de la programación funcional - ¿por qué utilizar un lenguaje funcional (ish)?
"puede haber tenido algunos" ... nah, "ellos" simplemente "lo tomaron" como estaba, sin permiso del autor supuestamente, y nunca se molestaron en mejorarlo por miedo a la incompatibilidad regresiva. –
@Will - Hombre. Supongo que eso lo explica entonces; el XLISP original era un proyecto de juguete para el escritor, no algo que promocionaba seriamente. – Inaimathi
Las fechas de 1983 a 1986 no son anteriores a la práctica excelente en Lisp, lo siento. En 1986, Common Lisp ya estaba allí y casi lo mismo que se estandarizó en 1994. No es un caso de depredación, sino un caso de no tener idea. AutoLisp fue peor que algunos Lisps en la década de 1960. – Kaz