15 votos

Common Lisp para los matemáticos?

Estoy interesado en el aprendizaje de Common Lisp. Parece ser que hay una gran cantidad de material para (experimentado) los programadores, o para personas sin conocimientos en programación o en matemáticas. Me preguntaba si existe una introducción a lisp para los matemáticos con ninguna (o muy poca) experiencia en programación en total? Tanto la parte teórica de la lengua y el lado práctico me interesa.

17voto

Knox Puntos 1543

Me pueden recomendar el libro de texto de Estructura e Interpretación de los Programas de Ordenador por Hal Abelson y Gerald Sussman.

El libro enseña Esquema, en lugar de Common Lisp. Creo que esto es bueno por varias razones:

  1. El esquema fue diseñado por los autores de los libros de texto, para ser un buen lenguaje para la enseñanza.

  2. El esquema es un pequeño lenguaje de Common Lisp - menos primitivas a memorizar.

  3. Esquema no tiene un objeto de sistema integrado. Creo que el objeto de los sistemas en lenguajes de programación son algo confuso para los principiantes. Es mejor aprender a programar sin ellos, por lo que se puede apreciar cuando y por qué es útil el uso de objetos (capítulo 3 de SICP tiene que construir su propio sistema de objetos de todos modos...)

  4. El esquema es un "Lisp 1" (Common Lisp es un "Lisp 2"), lo que significa básicamente que no hay ninguna distinción entre funciones y otros datos. Esto es natural para un matemático, que serán utilizados para la manipulación de funciones como datos.

  5. La Raqueta de ecosistema proporciona un fácil de configurar y fácil de usar aplicación de Esquema.

Common Lisp es un potente y complejo de la lengua. Si tu objetivo es aprender a programar (y un buen estilo de programación), entonces yo le aconsejo que aprenda Esquema inicialmente, que será de gran facilitar su transición a Common Lisp si lo necesita.

Edit: Aquí un comentario que escribí en otro sitio cuando se le preguntó por los "libros que le dan superpoderes".

5voto

Faheem Mitha Puntos 148

Tienes buen gusto.:-) Supongo que te han tratado Práctico de Common Lisp, que es el libro de la mayoría de la gente recomienda en estos días. He utilizado yo mismo, y eso es bueno. Tenga en cuenta que aunque Seibel no proporciona un PDF del libro, es fácil encontrar uno en la red, si quieres. No sé si se podría considerar que se trata de un libro para programadores experimentados.

He escrito algunos Common Lisp mí mismo, en 2012, y se trata de un impresionante idioma.

Mi bastante obvia sugerencia para las personas el aprendizaje de la programación en general no es, en realidad, a leer un libro de texto. Es aburrido y que te agobies. (Dicho esto, Seibel del libro está bien escrito, como libros de programación.) En su lugar, trate de escribir algo de código sencillo, preferiblemente algo que tiene sentido para usted, a ver cómo va, y el uso de un libro de texto para referencia. Tengo una matemática de fondo de mí mismo, y creo que la gente con ese tipo de fondo tienden a centrarse demasiado en la teoría. No se preocupe demasiado acerca de la teoría, por lo menos para empezar. Acabo de escribir algo de código. Es importante usar un buen ambiente, aunque. Me gustaría recomendar la costumbre de emacs/LIMO combinación.

También me gustaría recomendar hablando con la gente en los foros. #lisp en freenode es un buen lugar para conseguir la rápida ayuda informal. Stackoverflow es un buen lugar para pedir básica, que no es especialista CL preguntas. No muchos de los expertos que andan por ahí, así que si tienes muy sofisticado preguntas, en otros lugares puede ser mejor.

Otra opción podría ser de ayuda en el libre de matemáticas de los proyectos de software como Maxima y Axioma, ambos de los cuales el uso de CL, creo. Que podría ser capaz de encontrar algunas tareas simples para usted, y sería una buena manera de aprender CL, y hacer algo útil y ayudar a la comunidad al mismo tiempo. Por supuesto, esto asume que usted tiene el tiempo, el interés en la computación simbólica, y la inclinación a ayudar.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X