He estado usando Clojure por un tiempo y quiero crear algunos proyectos que son más grandes y más complicados que los juguetes. He estado usando Java durante los últimos años y me he acostumbrado a lo que los IDEs hacen por mí: compilar muchas clases, empaquetarlas en frascos, crear archivos por lotes para que los usuarios los inicien.Desarrollo de Clojure: ¿IDE o REPL?
Cuando miro ejemplos de desarrollo en Clojure, parecen estar en la línea de cargar archivos en el REPL, ver cómo funcionan, editar el archivo, volver a cargar, repetir. Nary una clase o jar se genera en cualquier lugar. En la excelente "Programación Clojure" de Stuart Halloway, no pude encontrar un solo ejemplo de ": gen-class", por ejemplo. Los IDEs de Clojure que he usado (ClojureBox y el plugin encwelure de NetBeans) parecen promover ese mismo flujo de trabajo.
¿Esto es intencional? ¿Las herramientas son demasiado inmaduras o simplemente no las "entiendo"?
Me gustaría escuchar algunos ejemplos de flujo de trabajo de personas que han creado algunos programas no triviales para ser utilizados por usuarios regulares (no otros desarrolladores) si es posible.
Gracias por compartir sus opiniones.
Si desea entregar un frasco-archivo en el usuario final, sólo tiene que utilizar 'Lein uberjar'. Todavía usaría el REPL para construir el programa, pero un usuario final no debería tener que usar el REPL para usar el programa. –