¿Por qué todos los que estudian Lisp siguen diciendo que es la mejor manera de aprender programación?

Muchas rasones:

  1. La mayoría de los idiomas además de lisp tienen muchos casos especiales de sintaxis que deben aprenderse para ocultar lo que está sucediendo. La simplicidad de la sintaxis de lisp le permite acceder directamente a la carne semántica.
  2. Todos los paradigmas de programación comunes (funcional, OO, de procedimiento) son compatibles con lisp (específicamente Common Lisp). La mayoría de los otros idiomas se inclinan fuertemente en una dirección, haciendo que la discusión de los otros paradigmas sea torpe.
  3. Lisp tiene una tipificación dinámica y recolección de basura que elimina gran parte de la complejidad de implementación para estructuras de datos y API. Esto hace que el contenido semántico sea más claro.
  4. Los sistemas Lisp proporcionan líneas de comando interactivas para que las ideas puedan probarse rápida y fácilmente.
  5. Lisp es fácilmente extensible. Su poderosa instalación macro permite que las nuevas instalaciones se integren sin problemas como si estuvieran integradas en el lenguaje. Esto significa que los sistemas lisp han incorporado la mayoría de los conceptos nuevos que han surgido a lo largo de los años.
  6. Sí, lisp facilita la comprensión de la recursividad. En particular, la estructura de datos de lisp predeterminada es la lista enlazada individualmente, que es una estructura de datos definida recursivamente con dos casos: la lista vacía y una lista existente con algo agregado en el frente. El procesamiento de tales listas se realiza de forma recursiva de forma natural, por lo que los programadores de ceceo rápidamente se vuelven fáciles de recurrir. Debo mencionar que los sistemas lisp modernos siempre incluyen un conjunto completo de tipos de datos, no solo listas.
  7. Los sistemas Lisp suelen tener potentes funciones de depuración.
  8. También hay otras razones, pero ahora llego tarde … 🙂

Lisp tiene la sintaxis más simple de cualquier lenguaje de programación popular.

Para generalizar solo un poco

  1. () crea una lista ordenada que puede contener listas y átomos.
  2. Los átomos pueden ser cadenas, números o símbolos.

Eso te da código con una sintaxis simple y tonta que se parece a su árbol de análisis

(factorial defun (n)
(si (> n 0)
(* n (factorial (- n 1)))
1))

utilizado como

(factorial 5)

Cosas como el orden de operación y la asociatividad faltan por completo.

Con una breve introducción como esa, puedes centrarte en aprender a programar. Cosas como la recursividad y las funciones de orden superior no son más fáciles, aunque hay menos distracciones que en otros idiomas.

Finalmente, las implementaciones de lisp a menudo se pueden usar de forma interactiva (como el BASIC, que fue estándar en las computadoras de cierta era), lo que facilita una exploración más rápida que con los lenguajes compilados.

Porque como es el lenguaje de instrucción del MIT, * DEBE * ser bueno …