Red de conocimiento informático - Conocimiento informático - Para los principiantes en Lisp, qué dialecto aprender, qué libros de referencia y software de desarrollo utilizar son más adecuados

Para los principiantes en Lisp, qué dialecto aprender, qué libros de referencia y software de desarrollo utilizar son más adecuados

Common Lisp y Scheme son los dos dialectos principales de la familia Lisp y son relativamente versátiles. ELisp y AutoLisp solo se pueden usar en entornos específicos, por lo que no se recomiendan.

Si solo desea aprender las ideas de PF, puede aprender Scheme directamente. Todas las ideas de FP están ahí y es relativamente simple, pero la biblioteca no es muy completa. Si buscas el poder de CL, puedes mirar Racket, que es una versión evolucionada de PTL Scheme.

Recomendación IDE:

DrRacket

Recomendación de libro:

Teach Yourself Scheme Mit Press

Simply Scheme MIT Presione

LISP en pedazos pequeños

r5rs

Básicamente todos tienen versiones electrónicas. El tercer Lisp en pedazos pequeños no se puede utilizar como tutorial introductorio. ya lo ha aprendido y se centra en cómo implementar un intérprete o compilador de Scheme y algunos conceptos más profundos. No es fácil de entender, pero está muy abierto a la reflexión. A menudo también compara Scheme y CL. trazar paralelos. La última es la especificación Scheme, que no es adecuada como tutorial introductorio pero sí más adecuada como referencia, aunque es relativamente delgada y solo tiene unas pocas docenas de páginas. Si tu inglés no es muy bueno, puedes comprobar si hay una versión china en línea.

Sin embargo, en términos relativos, sigo recomendando Common Lisp. La razón no se puede explicar en pocas palabras. Es un Lisp más ortodoxo y tiene un alto grado de industrialización. , deberías saberlo, pero la desventaja es que aprender es difícil. Aunque todos dicen que CL se ha practicado durante mucho tiempo, todavía hay muchos errores. Lo que otros dicen es inútil. terminar de aprender y hacer dos proyectos. Pero en general sigue siendo un lenguaje excelente. Las ideas de programación introducidas por primera vez por Lisp incluyen estructuras de control if/then/else, llamadas a funciones recursivas, asignación de memoria dinámica, recolección de basura, funciones de orden superior, cierres léxicos, programación interactiva, compilación incremental y escritura dinámica...

Recomendación IDE:

Lisp en una caja

LispWorks (adecuado para personas con altos ingresos)

Recomendación de libro:

Practical Common Lisp

ANSI Common Lisp

Utilicé estos dos libros para aprender, pero me referí principalmente a ellos durante el proceso de aprendizaje

Referencia rápida de Lisp p>

Common Lisp The Language

La primera referencia enumera el uso básico en forma de fórmulas, que básicamente cubre todo el estándar ANSI Common Lisp, pero puede ser un poco oscuro, pero solo acostúmbrate. No hablaré del segundo. Es similar al Diccionario Oxford. Tiene más de mil páginas. Si no lo entiende, simplemente búsquelo. La mayoría de la gente no puede leerlo. tiene sentido leerlo.

Después de leer estos libros, básicamente tendrá un conocimiento profundo de Lisp. En este momento, puede escribir un proyecto usted mismo para practicar o ir directamente a github para clonar uno.

También hay algunos buenos libros, pero como ya tienes una base sólida, puedes leerlos casualmente sin tener que leer el libro de texto con tanta atención:

On Lisp (mismo autor que Common Lisp The Language, bastante bueno) Una versión avanzada de CLTL)

Common Lisp Una suave introducción a la computación simbólica

Land of Lisp (¡muchos cómics!)

Successful Lisp

Tutorial sobre un buen estilo de programación Lisp

El arte del protocolo Metaobject

A excepción de los dos últimos libros, no los he leído con mucha atención, porque muchos de son similares a Practical Common Lisp, On Lisp tiene duplicaciones, así que solo miré algunas partes distintivas. El penúltimo libro habla sobre cómo desarrollar un buen estilo de programación Lisp. Puedes leerlo en prosa. El último es bastante profundo y aún no lo he terminado. Habla principalmente sobre cosas relacionadas con CLOS y puede usarse para ampliar su pensamiento.

En realidad, si quieres aprender el lenguaje CL, estos son suficientes, pero aún te aburres. Bueno, te recomiendo dos artículos más:

Las raíces de Lisp

Funciones recursivas de expresiones simbólicas y su cálculo mediante máquina Parte I

¡Se recomienda imprimir estos dos artículos y leerlos línea por línea! En primer lugar, porque son relativamente cortos y no te cuestan mucho, y en segundo lugar, porque vale la pena considerarlos una y otra vez, en lugar de leerlos una vez y luego tirarlos a la basura. El primer artículo fue escrito por Paul Graham, autor de ANSI Common Lisp, On Lisp y "Hackers and Painters". El contenido principal es un resumen del segundo artículo, que analiza la teoría básica de Lisp. Solo dura una docena de páginas. Después de leerlo, obtendrás algunos conocimientos nuevos que no podrás ver en otros tutoriales de idiomas. No hablaré del segundo artículo, está escrito por el autor de Lisp. Míralo bien y piensa en cómo el autor diseñó un lenguaje tan bueno. No digas que no eres bueno en matemáticas. No lo aprendamos. Usémoslo aquí. Las matemáticas tampoco son difíciles.

Además, no estoy seguro de su propósito al aprender Lisp. Lo anterior puede ser más adecuado para programadores comunes. Si es un investigador de inteligencia artificial, puede leer directamente los dos libros siguientes:

Paradigmas de la programación de inteligencia artificial, estudios de casos en Common Lisp

Los elementos de la inteligencia artificial (una introducción al uso de Lisp)