web-applications haskell common-lisp

web applications - Lisp o Haskell para el desarrollo de aplicaciones web



web-applications common-lisp (5)

Estoy considerando aprender un lenguaje de programación funcional. Decidí construir una aplicación web de tamaño mediano.

Reduje las opciones a Haskell y Common Lisp.

La aplicación web necesita una interfaz con alguna base de datos relacional (MySQL, Firebird o Postgres) y debe ejecutarse en Linux. Obviamente, tiene que interactuar bien con el software del servidor web. No tengo experiencia con idiomas funcionales, mi experiencia es C, C ++, PHP y JavaScript.

¿Cuál es el preferido para este uso y por qué?

No estoy seguro de si esta pregunta debe ser marcada subjetiva? Realmente no es "qué idioma es mejor", sino "lo que es más adecuado para esta tarea en particular"


''Common Lisp'' no es realmente un lenguaje funcional. Tiene elementos de un lenguaje funcional, pero igualmente incluye soporte para programación imperativa y orientada a objetos. Los programas generalmente están escritos en una combinación de esos.

En general, Common Lisp y Haskell son idiomas muy diferentes.

Si desea aprender programación funcional avanzada, entonces Haskell sería más adecuado.

Escribir aplicaciones web en Common Lisp usando una base de datos y ejecutándose en Linux es posible y ya se ha hecho.


Cada idioma que vale la pena ofrece muchas bibliotecas para aplicaciones web. Haskell no es una excepción, y hay cientos de bibliotecas web para el idioma.

La disponibilidad de bibliotecas debe ser su principal consideración (aparte de, por ejemplo, las necesidades de altos niveles de concurrencia).

Puedes encontrar las bibliotecas de Haskell para esto aquí:

Todos se pueden instalar con:

$ cabal install $ foo


En su posición, escogería a Haskell por tres razones:

  • Bastante fácil de aprender
  • Hackage , que proporciona una gran cantidad de bibliotecas que pueden hacer mucho de lo que desee, incluido HAppS , que proporciona una gran cantidad de funcionalidades para aplicaciones de servidor
  • Gran comunidad Su canal de IRC es genial.

Lisp tiene una buena historia en la Web. Las tiendas de Yahoo se escribieron inicialmente en Lisp.


Si su principal consideración es obtener un punto ideal entre las técnicas funcionales y la funcionalidad web, me sería difícil superar F # considerando que tiene todo el material web. Horneado. Es una gran cantidad de código precocido y endurecido por producción. a su disposición. Podrías hacer MVC con él, y si no quieres correr en Windows y tener un espíritu pionero (lo que supongo que haces teniendo en cuenta la pregunta), entonces probar un MVC con F # en Mono estaría realmente ahí afuera. Me encantaría ver ese combo!

No sé Lisp, pero en comparación con Haskell, F # sería mucho más productivo en lo que respecta a obtener una aplicación web escrita con un lenguaje funcional ... Amo a Haskell, pero por lo que quieres hacer Tienes que verte como F # como primera opción, IMO.