Domanda

Al momento uso PHP per quasi tutto ciò che sviluppo per il Web, ma i suoi limiti linguistici stanno iniziando a infastidirmi. Tuttavia, mentre sviluppavo alcune pratiche e gestivo alcune librerie PHP che mi aiutano molto, non sento di essere pronto a passare a LISP buttando via tutto il mio output PHP. Potrebbe anche essere impossibile sui server a cui ho accesso solo un normale account di hosting LAMP.

Ergo, le mie domande sono: Il codice LISP potrebbe essere semplicemente combinato con uno PHP? Esistono soluzioni per LISP / PHP side-by-side, interfaccia per la loro interoperabilità o perennemente solo un'implementazione dell'una per l'altra? O è una scelta reciprocamente esclusiva?

È stato utile?

Soluzione

Non è una scelta reciprocamente esclusiva, puoi eseguirli entrambi su un sistema, allo stesso modo in cui perl e php (ad esempio) sono eseguiti fianco a fianco su molti sistemi.

C'è un un buon post qui su un argomento simile, che suggerisce utilizzando socket per comunicare tra le due lingue -

  

Se vuoi andare su PHP < - > Lisp route la cosa più semplice da fare sarebbe quella di far comunicare PHP con il tuo processo Lisp usando i socket.

     

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

     

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

Questo approccio ti lascia ancora con la potenziale complessità aggiuntiva e problemi di manutenzione che potresti avere dall'avere 2 lingue nel tuo progetto, ma potrebbe adattarsi al tuo particolare caso d'uso.

Altri suggerimenti

Molto probabilmente non vorrai scrivere codice in PHP dopo aver iniziato a sviluppare in Lisp. (A proposito, nuova capitalizzazione dagli anni '80 circa)

Hunchentoot è un server popolare che ti fornisce le basi in termini di connessione degli spedizionieri alle richieste. Esiste una serie di screencast sulla scrittura di un clone reddit su LispCast.com

UnCommon Web (sembra un gioco di parole sulla descrizione di Scheme in PAIP di Peter Norvig) proviene da quello che posso dire in un quadro più completo basato pesantemente sull'idea delle continuazioni, in modo molto simile a Seaside per Smalltalk.

Weblocks è ancora un altro framework web basato sulla continuazione che sembra carino. L'autore (a defmacro.org) scrive buoni articoli e mi piace quello che ho visto nell'app di esempio per Weblocks.

Al momento sono praticamente nella stessa situazione. Ho un sacco di PHP alle spalle, ma la lingua inizia davvero a infastidirmi. Ho sperimentato lingue diverse, ma recentemente ho armeggiato molto con lo schema e sto pensando a un passaggio graduale. Forse dovremmo creare un gruppo di utenti o qualcosa del genere?

Proveniente da un background PHP, probabilmente sei abituato a lavorare con un livello sottile di astrazione rispetto al protocollo HTTP. Penso che questo sia qualcosa che in realtà rende più semplice la transizione in una nuova lingua; Soprattutto uno, dove non esiste un quadro dominante. In questo modo, PHP e la comunità Lisp hanno alcune somiglianze (ma anche altre piattaforme open source frammentate, come Python e Perl).

Un problema con Lisp è che ce ne sono così tanti tra cui scegliere. Ho deciso di preferire Scheme rispetto a Common Lisp, in modo che si restringa un po '. Dopo alcuni esperimenti, ora mi sto concentrando su plt-schema , che sembra essere l'unico schema con la maggior parte impulso. Tra le altre cose, ha un web server in bundle con esso.

Sfortunatamente non riesco a pensare a nessuna libreria per quello, tuttavia mi trovavo in una situazione simile, dove avevo il codice PHP, ma mi sono stancato di " provare " per codificare la logica (logica di gioco) in PHP, quindi ho usato i socket PHP per connettermi a Lua, quindi ora programma tutta la logica lato server in Lua e uso PHP (impostazione LAMP) come mio server frontend.

Spero che sia d'aiuto.

Ti consiglio di provare Weblocks .

Per il normale sviluppo di pagine Web in PHP, ho creato una libreria chiamata xilla_tags.

Panoramica qui

Ci sono anche alcune buone tecniche sul sito di bitchware di Jacob Hanssens.

Scopri una soluzione interessante per combinare Lisp e PHP https://github.com/lisphp/lisphp

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top