emacs lisp elisp common-lisp

¿Cómo aprender sobre Common Lisp y Emacs Lisp?



elisp common-lisp (8)

Los últimos meses he estado usando Emacs extensamente como mi principal entorno de desarrollo y ahora llegué a un punto en el que me gustaría aprender que es el propio Emacs Lisp para escribir mis propios pequeños detalles para Emacs y extenderlos a mi Necesidades personales.

Habiendo dicho eso, también quería aprender Common Lisp desde hace un tiempo, para jugar y explorar un nuevo idioma. Mi pregunta es, ¿de dónde debería empezar? ¿Emacs Lisp me dará el conocimiento necesario para recuperar Common Lisp después más fácilmente o al revés? Básicamente estoy interesado en la eficiencia de cada camino para minimizar la curva de aprendizaje cuando finalmente decido pasar de un dialecto a otro.


Comience con Emacs Lisp (dado que parece que ya comenzó a personalizar sus emacs): parece ser más útil de inmediato para usted.

Tenga en cuenta que hay una gran diferencia entre Emacs Lisp (hay muchas cosas de gestión de búfer, especialmente en el código que es probable que vea en la naturaleza) y Common Lisp (más similar a una programación de propósito general) idioma), así que en cualquier ruta que tomes, espera una cierta cantidad de "desperdicio"



Juega y practica Emacs Lisp. Inmediatamente podrá hacer cosas que pueda ver y relacionarse. Al mismo tiempo, tal vez, lea un libro sobre Common Lisp. Y el manual de Elisp.

La lectura no va a doler y puede darle más antecedentes y visión general. Pero depende de cómo te gusta aprender, etc. Leer te da una idea más amplia de lo que podrías comenzar a practicar: te permite saber a dónde podrías ir, qué podrías hacer, incluso si nunca lo necesitas o quieres.



Probablemente aprenda ambos en paralelo.

Al aprender Common Lisp utilicé ejercicios de la Estructura e Interpretación de Programas de Computadora, que están en Scheme. Esto significaba que estaba expuesto a las diferencias entre Scheme y Common Lisp desde el principio. Del mismo modo, aprender emacs-lisp junto con CL es perfectamente factible e incluso puede ayudarlo a comprender el alcance, ya que difiere entre cada uno.


Recomiendo que empiece con EmacsLisp, ya que será más inmediatamente útil como ya se dijo.
Y tan pronto como tenga una buena comprensión de las peculiaridades del idioma, podría comenzar a usar eieio .

Para citar el emacswiki , es An implementation of the CommonLisp object orientation standard (CLOS) in EmacsLisp .

Lo mejor de ambos mundos !


Supongo que buscó SO antes de publicar y vio las preguntas "¿Cuál es la mejor manera de aprender LISP?" y posiblemente "Tips for Learning Elisp" . Esos son dos buenos puntos de partida para aprender uno u otro.

En cuanto a cuál aprender primero, todo depende de lo que quieras hacer. Si tiene una idea para un proyecto que le interesa, entonces use el lisp apropiado para resolverlo. Por ejemplo, si desea agregar / cambiar alguna funcionalidad en su entorno de desarrollo, use emacs lisp. De lo contrario (si no está relacionado con el editor), use el ceceo común.

Para mí, se trata de encontrar un proyecto que le interese y usarlo para guiar el idioma que usará.

Cada uno de ellos está lo suficientemente cerca como para que familiarizarse con uno haga que usar el otro sea directo. Emacs lisp tiene muchas características específicas de dominio (búferes, regiones, propiedades de texto, archivos, subprocesos, etc.) y el lisp común tiene una amplia variedad de bibliotecas para usar.


Te recomiendo que comiences con Common Lisp primero, ya que es mucho más general que Emacs Lisp. Una vez que esté familiarizado con Common Lisp, tendrá muy pocos problemas para recuperar Emacs Lisp (es un dialecto mucho más simple de Lisp).

Tal vez sea por eso que estoy sugiriendo comenzar desde el lenguaje "más difícil" de los dos y estarías en lo cierto al hacer esa pregunta. La respuesta es bastante simple: muchas de las cosas en Emacs Lisp están bastante ligadas a Emacs y es posible que te pierdas parte del panorama general si comienzas desde allí.

Personalmente comencé mi viaje hacia Lisp con el excelente libro "Practical Common Lisp", que otros ya han recomendado. Me enganchó a la visión e ideas de lisp y una vez que entendí Common Lisp fue bastante fácil para mí comenzar a escribir el código de Emacs Lisp de inmediato. No estoy seguro de que el viaje sea tan sencillo en la dirección opuesta, pero todo es subjetivo y de preferencias personales.