Pregunta

Actualmente uso PHP para casi todo lo que desarrollo para la Web pero sus limitaciones lingüísticas están empezando a molestarme.Sin embargo, a medida que desarrollé algunas prácticas y mantuve algunas bibliotecas PHP que me ayudan mucho, no creo que esté listo para simplemente cambiar a LISP y desperdiciar toda mi salida PHP.Incluso podría ser imposible en los servidores a los que solo tengo acceso a una cuenta de hosting LAMP normal.

Ergo, mis preguntas son:¿Se podría combinar el código LISP con uno PHP?¿Existen soluciones para LISP/PHP en paralelo, interfaces para su interoperabilidad o tal vez solo una implementación de una para la otra?¿O es una elección mutuamente excluyente?

¿Fue útil?

Solución

No es una opción mutuamente exclusiva, puede ejecutar ambos en un sistema, de la misma manera que perl y php (por ejemplo) se ejecutan lado a lado en muchos sistemas.

Hay una buena publicación aquí sobre un tema similar, que sugiere usando sockets para comunicarse entre ambos idiomas -

  

Si quiere ir a la ruta PHP < - > Lisp, lo más fácil sería hacer que PHP se comunique con su proceso Lisp usando sockets.

     

http://php.net/manual/en/ref.sockets.php

     

http://www.sbcl.org/manual/Networking.html

Este enfoque aún lo deja con la posible complejidad adicional y los problemas de mantenimiento que obtiene al tener 2 idiomas en su proyecto, pero podría ser adecuado para su caso de uso particular.

Otros consejos

Lo más probable es que no desee escribir código en PHP una vez que haya comenzado a desarrollar en Lisp. (Nueva capitalización desde alrededor de los 80, por cierto)

Hunchentoot es un servidor popular que le brinda los conceptos básicos en términos de conexión de despachadores a solicitudes. Hay una serie de screencasts al escribir un clon de reddit en LispCast.com

UnCommon Web (suena como un juego de palabras con la descripción del esquema de Peter Norvig en PAIP) es por lo que puedo decir un marco más completo basado en gran medida en la idea de las continuaciones, al igual que Seaside para Smalltalk.

Weblocks es otro marco web basado en la continuación que se ve bien. El autor (en defmacro.org) escribe buenos artículos, y me gusta lo que he visto en la aplicación de muestra para Weblocks.

Estoy en prácticamente la misma situación en este momento.Tengo mucho PHP en mi haber, pero el lenguaje realmente comienza a molestarme.He experimentado con diferentes lenguajes, pero últimamente he modificado mucho el esquema y estoy contemplando un cambio gradual.¿Quizás deberíamos iniciar un grupo de usuarios o algo así?

Con experiencia en PHP, probablemente esté acostumbrado a trabajar con un nivel reducido de abstracción del protocolo HTTP.Creo que esto es algo que realmente hace que sea más fácil la transición a un nuevo idioma;Especialmente uno donde no hay un marco dominante.De esta manera, PHP y la comunidad Lisp tienen algunas similitudes (pero también las tienen otras plataformas fragmentadas de código abierto, como Python y Perl).

Un problema con Lisp es que hay muchos para elegir.He decidido que prefiero Scheme a Common Lisp, lo que lo reduce un poco.Después de experimentar un poco, ahora me estoy centrando en esquema plt, que parece ser el esquema con mayor impulso.Entre otras cosas, incluye un servidor web.

Desafortunadamente no puedo pensar en ninguna biblioteca para eso, sin embargo, estaba en una situación similar, donde tenía código PHP, pero me cansé de & "; intentar &"; para codificar la lógica (lógica del juego) en PHP, así que usé sockets PHP para conectarme a Lua, por lo que ahora programo toda la lógica del lado del servidor en Lua y uso PHP (configuración de LAMP) como mi servidor frontend.

Espero que eso ayude.

Le recomiendo que pruebe en Weblocks .

Para el desarrollo normal de páginas web en PHP, he creado una biblioteca llamada xilla_tags.

Descripción general aquí

También hay algunas buenas técnicas en el sitio de bitchware Jacob Hanssens.

Vea una solución interesante para combinar Lisp y PHP https://github.com/lisphp/lisphp

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