2010-09-15 10 views
14

Me pregunto si algunos lenguajes funcionales se utilizan para el desarrollo web y cuáles son más útiles y compatibles con ese objetivo.
¿Lisp común o esquema para el lado del servidor?

+1

Ni Common Lisp ni Scheme son idiomas funcionales. Pruebe uno de los muchos frameworks web de Erlang/Haskell. –

+6

@Vijay Mathew: Los Lisp son funcionales. Si bien técnicamente son multi-paradigmas, definitivamente permiten que un programador sea completamente funcional si así lo desea. – Greg

+0

@Greg también lo hace C. (piense en los indicadores de función :-)) –

Respuesta

13

Raqueta PLT tiene una web en servidor que es un UP- hasta la fecha, derivado activamente del Esquema, y ​​puede ser algo que quieras estudiar. Aquí hay algo de documentación:

http://docs.racket-lang.org/web-server-internal/index.html

Hay unos pocos hilos StackOverflow que pueden proporcionar algunos más respuestas a esto:

state of web development using functional programming language

What are the popular 'web-ready' functional programming languages?

+0

marcos muy interesantes que encontré allí –

4

Erlang es un lenguaje funcional utilizado (entre otras muchas cosas) para el desarrollo web del servidor, p. Ej.

En cuanto a los marcos Common Lisp, ver Best web framework in Common-lisp?

+0

+1 por mencionar a Erlang – linuxuser27

+0

¿A qué te refieres con "solía ser"? ¿Todavía no se usa para eso? –

+0

@ NateC-K, sí, por supuesto, todavía se usa. Corregida la redacción engañosa. – miku

5

Clojure (y Scala no es realmente un ceceo) también se utilizan para el desarrollo web del lado del servidor.

3

Hunchentoot es un buen servidor web en el CL. CL-WHO es una biblioteca de generación de HTML, y hay un mod_lisp para apache, creo también. Puede configurar algo con cl-fcgi y hacer que un servidor se conecte a él, como una configuración CL-WHO + cl-fcgi, o cl-who + hunchentoot, o cl-who + mod_lisp. Es tu elección.

4

Clojure es una opción muy prometedora para el desarrollo web del lado del servidor.

ventajas clave:

  • Es un Lisp (ver "beating the averages" ensayo de Paul Graham acerca de por qué esto es importante)
  • Usted consigue el acceso a la ecosistema completo de Java de las bibliotecas - esto es una gran ventaja para el desarrollo del servidor (dado que el ecosistema de la biblioteca Java es insuperable)
  • Ofrece alto rendimiento - siempre compilado, aprovecha al máximo t que JVM para optimizaciones etc. Por benchmarks game es el lenguaje el segundo más rápido de tipo dinámico (después de Common Lisp)
  • Puede utilizar ClojureScript (básicamente Clojure que compila a JavaScript) en el lado del cliente para y al final a extremo solución de servidor cliente

Actualmente, el marco web principal de Clojure es probablemente Noir (http://webnoir.org/), pero hay varios otros que comienzan a surgir.

Cuestiones relacionadas