Sto imparando Common Lisp, principalmente come un hobby per la "mente palestra", ma voglio finire con un insieme di abilità che potrebbero anche essere utilizzabili "nella vita reale", perché quando impari una lingua, anche tu accumulare conoscenze sulla gestione dei moduli e dei pacchetti, sulla distribuzione e sulle cose, che piaccia o meno, quindi voglio imparare con un'implementazione CL che è anche utilizzabile in produzione. Quindi la mia domanda è:
Quale implementazione CL è più utilizzabile "in produzione", con attributi come questi? :
- è multipiattaforma - si dovrebbe essere in grado di utilizzare la stessa implementazione linguistica e le stesse lingue su un server Linux, una macchina dev di Windows e una MacOS (la cosa più bella sarebbe essere in grado di compilare per Android, Windows Phone e RT e forse anche iOS)
- ha una buona concorrenza , parallelismo , multi-threading e queste funzioni funzionano multipiattaforma , altrimenti non conta
- è facile interfaccia con altri linguaggi - lavorare con le librerie C è un must, ma qualsiasi altra cosa, come una semplice interfaccia CL-Python sarebbe bella
Insisto sulla parte multipiattaforma perché so che uno degli argomenti seri per Reddit Ditching CL (CMUCL - btw, so che SBCL è fork di CMUCL, ma come si confrontano?) era che gli sviluppatori non potevano basta usare i loro Mac per svilupparsi senza essere ssh'd in un ambiente di server di sviluppo (citazione: "Sul mio Mac, le mie scelte di implementazioni di thread Lisp erano limitate a OpenMCL, e in FreeBSD è CMUCL." ) . Sì, si può usare una VM di sviluppo, ma ancora ...
Nota 1: stavo quasi per stabilirmi su CLISP ma non conosco le sue caratteristiche di concorrenza, e mi sono imbattuto anche in questo: " tutto-ma-forza il tuo codice a essere rilasciato come GPL "(non riesco a capire cosa questo significhi o in che modo la licenza di una lingua possa essere forzata sul tuo codice, ma non sono fluente in legalese ...).
Nota n. 2: Non mi piace molto la JVM, e se dovessi usare un Lisp su di esso sarebbe Clojure e nient'altro, quindi nessun suggerimento JVM Lisps , per favore:)