Pregunta

He sido programación durante años, trabajando mi camino a través de varias iteraciones de Blub (BASIC, Ensamblador, C, C++, Visual Basic, Java, Ruby, en ningún orden particular de "Blub-ness") y me gustaría aprender Lisp.Sin embargo, tengo un montón de inacción lo que con el tiempo limitado (familia, trabajo a tiempo completo, etc) y un cómodo felicidad con mi actual Trabajo (Java).

Así que mi pregunta es esta, dado que soy el tipo de persona que realmente me gustaría aprender Lisp, ¿cuáles serían los primeros pasos para conseguir un buen resultado que demuestra la superioridad de Lisp en el desarrollo web?Tal vez me estoy perdiendo el punto, pero es que me gustaría ver inicialmente la aplicación de mi Lisp conocimiento.

Estoy pensando en "el uso de Un dialecto, el uso de IDE B, siga las instrucciones en la página C a cuestionar su cordura después de las mónadas en el uso de consejero D".Me gustaría saber lo que la gente aquí consideramos un conjunto óptimo de los valores de a, B, C y D. tal vezTambién algunos de discusión sobre el mérito relativo de aprendizaje de un lenguaje potente como, decir, convertirse en un Rieles de expertos.

Solo para agregar algo más de detalle, voy a estar desarrollando en MacOS (o un Linux VM) - no basado en Windows de los enfoques de ser necesario, gracias.

Notas para los que acaban de navegación por

Yo voy a dejar esta pregunta abierta por un tiempo, así que me pueden ofrecer sugerencias sobre las sugerencias después de que he sido capaz de explorar.Si le sucede a ser la navegación y sienta que tiene algo que añadir, por favor, no.Realmente me bienvenida a sus comentarios.

Enlaces de interés

Suponiendo que usted está entrando en Lisp de Java de fondo, este conjunto de enlaces a empezar rápidamente.

  1. El uso de Intellij La Clojure plugin para integrar Lisp (videocast)
  2. Lisp para la Web
  3. Versión en línea de La Práctica Común De Lisp (c/s de Frank Shearar)
  4. Tierra de Lisp un (+ (+ very quirky) game based) manera, pero hace todo tan sencillo
  5. Instalar Clojure y Sublime 2 en MacOS un excelente guía de inicio
  6. Mira el Clojure en Acción libro.Trabajó para mí.
¿Fue útil?

Solución

Esta es, probablemente, en contra de la mayoría de los pueblos recomendaciones, pero manténgase alejado de Emacs para empezar, a menos que usted ya sabe.Especialmente si estás acostumbrado a Ide modernos/editores.

Estoy hablando de la experiencia;He intentado iniciar con Emacs, pero el tener que aprender el idioma Y el editor, al mismo tiempo, realmente me frustró (especialmente desde Emacs es tan diferente de otras herramientas).Terminé sujeción, introducción a PLT Scheme (ahora Raqueta) que viene con una relativamente simple IDE multiplataforma, un sistema centralizado de repositorio de paquetes y fabuloso docs (incluyendo un tutorial intermedio específicamente orientados al desarrollo web).Después de que consiguiera un agarre limpio en Lisp, terminé volviendo a Emacs, recogiendo EL/CL por el camino de La Práctica Común De Lisp y Xah del Elisp Guía.Básicamente, como yo lo veo, usted necesita saber antes de Lisp puede utilizar Emacs efectivamente, y usted necesita saber Emacs para ser muy eficaz con CL/Elisp.Esto significa que usted puede elegir ya sea el Esquema, o aprender Common Lisp a través de algún otro editor de primera (LispWorks personal, probablemente).

Si ya sabes Emacs, entonces sí que Elisp es el paso natural (a pesar de cómo se iba a disfrutar de Emacs uso sin saber Elisp primera es más allá de mí).

YMMV por supuesto, esto es sólo lo que he encontrado ayudado.

Desde su actual trabajo es Java, que probablemente podría obtener una gran cantidad de kilometraje de Clojure, Armado De Oso o Kawa.No he probado ninguno de ellos yo mismo, que no es un Java chico, pero Clojure específicamente viene altamente recomendado de otros Lispers sé.Parece que la capacidad para mantener su actual VM y la IDE puede ayudar con el proceso de aprendizaje.

Otros consejos

Bien,Usted puede golpear dos pájaros por la lectura SICP ;Uno de ellos es aprender LISP(me refiero esquema es un dialecto de Lisp) y otro es una gran idea de cómo programar.Periodo!!

Conrad Barski tiene un gran tutorial llamado Casting SPELs en Lisp (SPEL es su acrónimo en inglés para macros).Esto implica la realización de una simple Aventura de un tipo de juego, y salta a la derecha en Lisp macros.Él también ha estado trabajando en un libro introductorio que ahora está disponible en:

Aprender a programar en Lisp, un juego a la vez.

Y, a partir de la Tabla de Contenido:

  • Crear tu propio servidor web, y lo utilizan para jugar en el navegador basado en juegos

No sé lo que esto implica para la web desarrollo (como en las páginas HTML) el uso de Lisp, sin embargo.:)

Actualización - veo que alguien menciona el libro "Estructura e Interpretación de los Programas de Ordenador", que me recordó que el MIT ha puesto en línea, la todo SICP Video Conferencias a cargo de Hal Abelson y Gerald Jay Sussman.Usted podría haber encontrado el libro en seco, pero las clases son excelentes.A pesar de que está Esquema basado, que aún así obtener a través de los conceptos básicos también en Lisp, muy bien.Bien vale la pena descargar y ver.

Para obtener una buena introducción básica al lenguaje, lectura de Pedro Seibel del La Práctica Común De Lisp.El libro es excelente.

La configuración de emacs y LIMO puede ser complicado para un novato, donde "difícil" varía en magnitud dependiendo de su sistema operativo.Como de costumbre, Windows pone el extremo corto de la vara, pero la gente ha hecho la parte difícil y escrito arriba (SBCL, Emacs, LIMO).

Una vez que está fuera del camino, Planeta Lisp hace referencia a un artículo recientemente describir cómo configurar Hunchentoot y nginx.

OS editar: MCLIDE podría ser un buen lugar para empezar.La instalé, pero no han tenido la oportunidad de usarla, así que no puedo decir nada útil al respecto.Ciertamente parece interesante!

Editar:Eclipse tiene el La cúspide de la plugin, también.

Ya un montón de grandes respuestas, pero asumiendo que quieren sumergirse de cabeza en el desarrollo web con un Lisp, tengo un par de ideas más.

Clojure es la primera Lisp he visto a tener realmente excelentes pila de marcos web que está listo para el prime-time.

  • Noir es un sólido marco web con enrutamiento, plantillas, etc., similar a la de Sinatra, pero un poco más rica en funciones.Utiliza el Anillo, que es, básicamente, Clojure es el equivalente de la Rejilla en Ruby.
  • Korma es un SQL abstracción de la biblioteca que combina muy bien con el Negro.
  • Pinot es un framework del lado del cliente por escrito enteramente en ClojureScript, lo que nos lleva a:
  • Clojurescript es un compilador para Clojure que los objetivos de Javascript.

Si no se ha dado cuenta, acabo de cubiertas en toda la web de la pila y es todo escrito en Clojure.

Me parece Clojure es un poco más fácil para empezar con, a continuación, Common Lisp, con mucho mejor conjunto de características/soporte de la biblioteca de Esquema.

Si vienes de una Java de fondo, tiene el beneficio añadido de que se ejecuta en la JVM, que le da acceso a todo el Java stdlib cuando usted lo necesita.

La documentación disponible isa trabajo-en-progreso, como son los marcos de sí mismos.Pero hay un muy buen tutorial justo aquí.

Tan lejos como los editores de ir...si usted se siente cómodo con vim, usted puede usar vim con SLIMV.Si te gusta emacs emacs/LIMO está bien.Hay muy buena Eclipse y NetBeans soporte para Clojure (o eso me han dicho), pero en general el uso de TextMate (aunque Sublime Text 2 se está convirtiendo en mi editor de elección).Sé que me estoy perdiendo un poco de Lisp magia no usar más integrados, pero estoy feliz de golpe mayús-Tab para cambiar entre mi editor y REPL;su kilometraje puede variar.

Si quieres un libro para impulsar usted, se los recomiendo Programación De Clojure por Stuart Halloway y Aarón Bedra.La 2ª edición acaba de salir de PragProg, por lo que para arriba-hasta la fecha.

Feliz Lisping!

Otro comentarista, Inaimathi, recomienda este libro hace un par de días: El Pequeño Mediapunta

Recibido hoy y me puede decir como alguien que tiene una muy fuerte biblioteca de libros de programación adquiridos a lo largo de muchos años, que yo pueda tener sólo leer un capítulo, pero definitivamente voy a necesitar un libro de tapa dura de la versión de este.Se lee como el Tao Te Ching, un montón de pequeños fragmentos de la divina sabiduría con respecto a la lengua.Se puede decir que el Esquema, pero originalmente fue llamado "El Pequeño LISPer", las lenguas en el nivel que se analiza son lo suficientemente similares para ser enseñado como uno.

No es un texto avanzado, pero tiene una misión de inculcar los principios de la lengua y de lo que es realmente, cómo pensar como él.Creo que sería una excelente arranque para LISP.

NB. El Programador De La Competencia De La Matriz en realidad menciona este libro en el nivel superior de competencia de cosas para buscar.(consulte la sección de Libros)

Un lugar muy agradable para empezar a usar Lisp está dentro del editor Emacs, donde puede ser utilizado para redefinir casi cualquier cosa.Desea que la tecla 'e' para insertar el momento de la fecha, acaba de escribir un pequeño fragmento de código Lisp para generar la cadena y se unen a la tecla "e".Hecho.

Esto también le permitirá UTILIZAR lo que se aprende en un diario, si quieres pasar a usar un simple editor durante el día.

Si usted va a desarrollar en un Mac, puede que desee probar Clozure CL.Viene con un IDE que tiene Emacs-compatible con las pulsaciones de teclado, y hay un puente a Objective C para escribir las aplicaciones Cocoa.

También, he leído la Práctica Común de Lisp, pero se encontró El Éxito De Lisp para ser útil también.

Por último, un poco de paciencia por tu parte será recompensado.La productividad y la menor de las victorias que vienen muy rápidamente, pero la gran victoria puede tomar un tiempo.

Tengo una copia de la ANSI Common Lisp aquí por mi escritorio.Lo recojo cada par de años y obtener un par de capítulos a través de, a continuación, obtener atascado en un par de ejercicios y se desliza hacia abajo de la lista de prioridades.Que probablemente le dirá más acerca de mí que el libro, aunque.El libro parece enteramente competente...

Licenciado bajo: CC-BY-SA con atribución
scroll top