Pregunta

Experimenté con Lisp (en realidad Scheme) y descubrí que es un lenguaje muy hermoso sobre el que estoy interesado en aprender más. Sin embargo, parece que Lisp nunca se usa en proyectos serios, y no lo he visto como una habilidad deseada en ninguna publicación de trabajo. Me interesa escuchar a alguien que haya usado Lisp o lo haya visto en el "mundo real", o quién sabe si se considera un lenguaje puramente académico.

¿Fue útil?

Solución

Franz, Inc. proporciona una lista de historias de éxito en su sitio web. Sin embargo:

  

Por favor, no asumas que Lisp es solo   Útil para Animación y Gráficos, AI,   Bioinformática, B2B y E-Commerce,   Data Mining, EDA / Semiconductor   Aplicaciones, Sistemas Expertos, Finanzas,   Agentes Inteligentes, Conocimiento   Gestión, CAD Mecánica, Modelado.   y simulación, lenguaje natural,   Optimización, Investigación, Análisis de Riesgos,   Programación, telecomunicaciones y autoría web.   solo porque estas son las unicas cosas   pasaron a la lista & # 8212; Kent Pitman

Podemos encontrar otras historias de éxito aquí: & nbsp; http://lisp-lang.org/success/

y una lista de las compañías actuales que utilizan Common Lisp: https://github.com/azzamsa / awesome-lisp-companies

Otros consejos

¿Cuenta el elisp de Emacs? Eso es lo más "mundo real". uso con el que estoy familiarizado (aunque tampoco estoy seguro de que Emacs cuente como "mundo real").

ITA Software utiliza Common Lisp para su motor de búsqueda QPX de bajo precio que le da poder sitios como Orbitz , Kayak , y American y United Aerolíneas entre muchas otras. También se usa en parte para su próximo sistema de reserva de pasajeros para Air Canada. Paul Graham ha escrito un poco sobre Lisp en ITA en el pasado.

(Descargo de responsabilidad: trabajo allí.)

como un inicio pequeño, hemos creado algo que algunas personas llaman un servidor de aplicaciones " ;. pero, de hecho, es solo un grupo de bibliotecas integrales comunes para conectividad de SQL y aplicaciones web. algunos detalles están disponibles en página del proyecto cl-dwim

utilizando esto, hemos desarrollado y operado una aplicación web para el gobierno húngaro que recopila datos de los gobiernos locales y calcula la parte relevante del presupuesto del país. Este es el segundo presupuesto que estamos planeando ahora.

tiene aproximadamente 4000 usuarios y se ejecuta en un grupo de computadoras.

a partir de " lenguaje académico " ;: estamos jugando con cosas como continuaciones persistentes para el modelado de procesos de negocios. es un código aleatorio con algunas primitivas adicionales relacionadas con el proceso y algunas restricciones. puede detenerse en puntos aleatorios del código y quedarse dormido (ingresar en la base de datos) mientras espera algún evento externo.

¿Es práctico o académico? tu decides ... :)

Reddit se escribió originalmente en Lisp y luego se reescribió en Python. Hay un buen análisis del cambio y lo que significa para Lisp en Buscando a Lisp .

Paul Graham ha usado y escrito sobre ViaWeb que fue escrito en LISP

Lea sobre esto aquí - Superando el promedio

El software ITA utiliza una buena cantidad de CL.

http://www.itasoftware.com/careers/l_e_t_lisp.html ? catid = 8

Un proyecto de código abierto bastante reciente que todavía disfruta de una actividad de desarrollo constante y considerable es LilyPond .

Es un programa de notación musical que toma un archivo de texto fácil de escribir como entrada y lo convierte en hermosas partituras (archivos pdf). Ofrece todo tipo de formas de jugar con la salida si así lo desea. Incluso puede producir archivos midi de sonido decente. Lo uso siempre que necesito producir buenas partituras que otros músicos leerán. Creo que es mejor que Finale y es gratis !

En la categoría comercial, también hay Igor de Notehead  Grabador . Desafortunadamente, el sitio no me permite publicar un enlace directo a la página que habla sobre Lisp, así que vaya a descargas y busque en la parte inferior para un " Lisp " enlace.

También hay Naughty Dog (una compañía de juegos de computadora) que usa Lisp en sus juegos. Este artículo habla de eso e incluso muestra algún código.

Y hay muchos otros que se han mencionado y vinculado, pero estos son los principales que resuenan conmigo (siendo un compositor / programador / gamer / ... de tipo).

Algunos más recientes:

Los tres primeros se escribieron utilizando Weblocks, un marco web de CL. Wigflip y Clutu utilizan Hunchentoot puro.

¡Ahora consiga la codificación! :)

El Telescopio Espacial Hubble está programado usando herramientas de planificación Lisp. El transbordador espacial era. El telescopio webb será. La compañía en la que escribo Lisp analiza miles de millones de dólares en reclamos de seguros de salud y ha estado creciendo en un ~ 30% por año incluso durante la recesión. Hemos sido comprados por una gran compañía, y uno de nuestros programadores combinó (en realidad mejoró) la producción del software de (gran compañía) para analizar las reclamaciones de Medicare, empezando desde cero, por sí mismo, en un año. El código de (gran compañía), no en Lisp, tomó 6 años y varios programadores. El problema, desde el punto de vista de la carrera, es que demasiados escuchan a la pareja sobre "muchos paréntesis irritantes y tontos". y así. La mayoría de los gerentes no " lo consiguen " y preferirían tener un proyecto en un lenguaje que sea lo suficientemente familiar como para que puedan microgestionar. Piensan que " Lisp = AI " y ni siquiera quiero considerar la posibilidad de que sea un buen lenguaje de propósito general. Solo se tapan las orejas. No hay herramientas pulidas para hacer sitios web amigables con M $ o agrupar o canalizar aplicaciones Java existentes, y eso es el 90% de lo que a TI le importa en estos días de crecimiento por adquisición. Podría seguir, pero solo me pondría amargo. :)

  

Si inicié mi propio proyecto de software principal ahora, tomaría mi decisión de idioma según los criterios anteriores. Claro, me encanta Lisp, CLOS es increíble, rocas de alcance léxicas reales, las macros de Lisp son geniales (cuando se usan según las instrucciones), y personalmente me gusta mucho la sintaxis de Lisp. [& # 8230;] Pero tomaría mucho, o requeriría circunstancias especiales, persuadirme de que elija a Lisp para un proyecto de software importante, si yo estuviera a cargo de tomar la decisión. - Dan Weinreb

Creo que Autocad tiene extensiones que usan Lisp para extender el producto. Consulte AutoLISP .

Peter Christensen ha compilado una gran lista de compañías exitosas (financieramente) exitosas.

http://www.pchristensen.com/blog/lisp-companies/

Hay muchas compañías, proyectos y productos que usan Lisp en una variedad de roles & # 8212; He hecho trabajo para varios de ellos.

Hay dos puntos relevantes:

  1. es posible que nunca sepa que su última pieza de electrónica de consumo se construyó con Common Lisp, o incluso se programó en ella, o que algún servicio que usa está alimentado por un servidor Lisp. Sería incorrecto llegar a la conclusión de que Lisp no se utiliza nunca " ;.

  2. & # 8230; y, como tantos otros dominios, esos trabajos nunca aparecieron en Monster.com. El hecho de que nunca haya visto un puesto de trabajo para eso no significa que no haya oportunidades requeridas por Lisp o herramientas adecuadas para el trabajo.

El sistema de plug-in de GIMP se basa en Scheme, creo. No sé si esto es completamente "mundo real", pero al menos parece ser una aplicación práctica de Lisp.

Busque ACL2 . Es un motor de lógica formal basado en lisp que se ha utilizado para una serie de " mundo real " Proyecto como métodos formales en seguridad de software y pruebas de corrección para hardware de punto flotante.

Si mis planes funcionan, ¡todos usaremos Scheme dentro de 5 años! ; p

Me impresionó bastante cuando descubrí que el PRISM (& # 171 El proyecto Prism es un proyecto a largo plazo para construir herramientas de software para la planificación de la radioterapia, incluidas herramientas de inteligencia artificial y sistemas de simulación manual. & # 187;) está escrito en Common Lisp.

En mi trabajo estoy escribiendo un software que utiliza DICOM y debo decir que escribir bien DICOM La implementación es una tarea difícil. En su informe describen cómo Common Lisp les permite construir una buena La implementación de DICOM es mejor (al menos de alguna manera) que otra implementación con menos esfuerzo.

Lisp se usa en la composición de música algorítmica del mundo real con la biblioteca Common Music . Notes from the Metalevel de Rick Taube es un excelente texto de introducción al tema que tiene un montón de ejemplos en Lisp para componer. Consulte el directorio de ejemplos aquí y una copia del texto aquí .

Bueno, es difícilmente convencional, pero uso lisp para la mayor parte de mi código de investigación que sea manejable. Es, con mucho, el mejor lenguaje que he encontrado para el equilibrio de dinamismo y amp; expresividad, mientras que sigue generando un rendimiento decente para numéricos, etc.

Google App Inventor está escrito en Esquema

Acabo de darme cuenta de que Maxima , un programa para álgebra simbólica, está escrito en Common Lisp. Lo he estado usando durante bastante tiempo y creo que también es un muy buen ejemplo de la vida real.

Matthew Eric Bassett sobre el uso de Racket en la industria del cine: http://www.youtube.com/watch?v=37owCjWnkK0

Daniel Liebgold en Racket y PS3: http://www.youtube.com/watch?v=oSmqbnhHp1c

GNU Make es extensible con esquema. Un caso para la programación del mundo real :)

https://www.gnu.org/software/ make / manual / html_node / Guile-Integration.html

Lisp intentó saltar a la velocidad de la luz a principios de los 80's. Antes había PCs, se produjeron comercialmente "Lisp Machines" que superficailly se ven mucho como las estaciones de trabajo modernas, pero que eran lisp "abajo". Hardware Lisp finalmente perdió ante Intel (como todo lo demás). Software Lisp eventualmente perdido a C / C ++. Hay una variedad de teorías por las que esto es así. http://www.andromeda.com/people/ddyer/lisp/

El software de modelado de flujo FLUENT (dinámica de computación, CFD) utiliza el lenguaje de programación Scheme como lenguaje de programación.

Para la aplicación AutoCAD, AutoLISP / Visual LISP se usa mucho para proyectos reales y hay una gran comunidad de usuarios.

Veo que algunas personas ya lo han mencionado, pero lisp se usa ampliamente en el desarrollo personalizado de Autocad. Autocad incluye un intérprete lisp incorporado. Es una de las formas más simples de extender el producto y brinda la capacidad de mejorar rápidamente su productividad.

No se requiere compilación, en el lado del usuario, y 1, o más, las expresiones de línea se pueden ingresar en la línea de comando y ejecutar inmediatamente en el dibujo. Para los diseñadores y dibujantes que estén dispuestos a dar un pequeño paso para aprender los conceptos básicos de lisp, puede proporcionar una enorme ventaja de productividad.

Autocad proporciona otras formas de personalizar sus productos; ObjectARX (C ++), VB, C #, etc. La interfaz lisp es, con mucho, la más fácil de aprender e implementar. Y la mayoría de los otros entornos de desarrollo utilizan lisp de alguna manera.

El intérprete lisp estuvo disponible en una versión muy temprana de Autocad y se llamó Variables y expresiones. Fue bastante limitado, pero fue tan exitoso con los usuarios que se agregó rápidamente una funcionalidad adicional. Más tarde, un IDE visual completo (en la versión 2000, creo).

No me gustaría adivinar cuántos millones (billones?) de líneas de código lisp están disponibles para Autocad. Una búsqueda en Google en " autocad .lsp " devuelve 2,3 millones de visitas.

Ok, ya he escrito suficiente, ya he vuelto a trabajar para mí, escribiendo más lisp para mi proyecto actual :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top