Domanda

Sto pensando seriamente di fare Clojure mio nuovo linguaggio di hacking dal amo Lisp, ma hanno alcuni problemi con CL e Scheme. Non ho mai lavorato in ambiente Java prima e la mia esperienza Lisp è limitato a lavorare attraverso "SICP" e "The Little Schemer".

Che cosa devo sapere? Ci sono delle buone risorse sul tema "Il modo in cui Clojure?" Tutte le risorse sullo stile Clojure? Ho trovato eccellente pagina di Mark Volkmann, ma i libri che ho guardato attraverso sembrano un po 'di scorta.

Inoltre, che cosa ho bisogno di sapere su Java? Preferirei non imparare Java solo per imparare Clojure, ma immagino che dovrò conoscere almeno un po '. Inoltre, qual è il flusso di lavoro come? La mia esperienza è limitata a linguaggi dinamici, quindi non ho idea di cosa avrei dovuto fare per distribuire un'applicazione senza sorgente sulla JVM.

Googled questo ovviamente, ma c'è una grande quantità di informazioni e non molto roba "clojure specifico".

Credo che sto cercando alcuni suggerimenti ragionevoli sul tipo di letteratura devo leggere in una sorta di sequenza logica.

È stato utile?

Soluzione

Non si può andare storto osservare il maggior numero di Clojure Video su Blip.tv come si può gestire, in particolare quelle da Rich Hickey se stesso. Questi realmente aiuto a domicilio di auto i punti concettuali e aspetti unici per Clojure.

Se sei sufficientemente familiarità con i concetti Lisp, si consiglia di concentrarsi inizialmente su come imparare "mappe" Clojure ai Lisps che hai giocato con. Guarda i video di Rich Hickey su "Clojure per Lisp programmatori."

Si ha bisogno di avere una certa familiarità con Java, perché Clojure non rifuggire da utilizzarlo. Non è in qualche modo un-Clojurey (per quanto posso dire) per utilizzare Java, dove è intelligente. Avevo almeno scremare attraverso il Documentazione API per i pacchetti java.lang e java.io , perché java.lang è automaticamente disponibile all'interno dei vostri programmi Clojure e java.io viene utilizzato di frequente.

Con il mio dizionario Clojure-to-Lisp nella mia testa e le mie nozioni di base di Java dietro di me, mi avrebbe scelto un piccolo progetto per lavorare su . Tenere il Clojure e documentazione API Clojure-contrib a portata di mano (sia sul web o utilizzare il comando (doc) dal REPL), e sfogliare i molti, molti blog Clojure là fuori. Due dei miei preferiti sono http://nakkaya.com/ e http://stuartsierra.com/ . Se si utilizza Diigo, tutta una serie di blog sono stati segnalibro alla clojure gruppo .

NOTA: non ottenere appeso sul vostro ambiente dev. Ci sono una moltitudine di opzioni elencate sul Introduzione pagina wiki . Per imparare Clojure ed i primi piccoli progetti, mi basta scegliere il vostro editor di testo preferito, apprendere e utilizzare le basi di Leiningen per ottenere una bella impostazione cartella del progetto con tutti i percorsi e le dipendenze presi cura di, quindi utilizzare il comando "Lein repl" per l'avvio di un REPL con tutti i tuoi dipendenze caricato e disponibile. Nel patto di utilizzare Emacs (in base alla precedente esperienza Lisp), è possibile describe-variable tua inferior-lisp-program essere lein repl, e iniziare Emacs dalla radice del vostro progetto di esempio che tutto il lavoro automagicamente.

Ci sono Libri si può leggere, in particolare La gioia di Clojure, programmazione Clojure e Clojure pratico. Questi ultimi due sono più "pratico" rispetto alla prima, che è più "filosofica" (scusate generalizzazioni lordo). Pratico Clojure è up-to-date con Clojure 1.2, considerando che la programmazione Clojure è un po 'più vecchio.

Infine, ottenere sul canale IRC #clojure e utilizzare il gruppo Clojure di Google, perché c'è un sacco di intelligente, folk amichevole che godono di aiutare gli altri.

Altri suggerimenti

Solo un rapido punto di vista da qualcuno che è venuto a Clojure dalla direzione opposta (Java -> Clojure)

  • In realtà ho trovato le parti Lispy di Clojure facile da imparare una volta ho ottenuto il mio giro la sintassi e comuni modi di dire. Mi aspetto che sarà ancora più facile per voi.
  • Non c'è davvero bisogno di molta conoscenza di Java per fare la maggior parte delle cose - si può fare praticamente tutto in puro Clojure, se si vuole.
  • E 'probabilmente solo quando si inizia vogliono utilizzare librerie Java che sarà necessario per tuffarsi in Java interoperabilità. Fortunatamente, l'interoperabilità è molto semplice -. È più LISP stile di stile Java, quindi l'unica cosa che dovrete capire è come capire interfacce Java e effettuare la chiamata appropriata dal lato Clojure

Per il mio ambiente, io uso Eclipse + antiorario . Questo funziona particolarmente bene se vi piace IDE e / o di pensare in ultima analisi, si può decidere di fare un certo lavoro in Java pure. Esso non richiede ulteriori dipendenze, ti dà un ottimo debugger, ha un REPL completo (un incorporato nREPL I credere), fa tutto la gestione file di progetto (Git, SVN etc.) e gestisce automaticamente le cose come il setup classpath Java per voi (che può essere un grande ostacolo per i nuovi arrivati ??Java!). Mi consiglia il check it out se si pensa che possa soddisfare il vostro stile, ho anche sentito parlare bene di Enclojure come bene.

Se non siete in IDE, allora probabilmente stai meglio con il tuo preferito editor di testo e riga di comando strumenti come semperos suggerisce nella sua risposta eccellente.

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