Reescribir Java a clojure


Answers

¿Qué aspectos de Java incluye tu proyecto actual? Logging, transacciones de base de datos, transacciones declarativas / EJB, capa web (mencionó JSP, servlets) etc. He notado que el ecosistema Clojure tiene varios microarmas y bibliotecas con el objetivo de hacer una tarea y hacerlo bien. Sugeriría evaluar bibliotecas según su necesidad (y si se escalaría en proyectos grandes) y tomar una decisión informada. (Descargo de responsabilidad: soy el autor de http://code.google.com/p/bitumenframework/ ) Otra cosa a tener en cuenta es el proceso de compilación: si necesita una configuración compleja (desarrollo, prueba, puesta en escena, prod) puede tener para dividir el proyecto en módulos y tener el proceso de compilación con guiones para facilitar.

Question

Mi compañía me acaba de pedir que reescriba una aplicación Java grande (50,000 líneas simples de código) (una aplicación web que usa JSP y servlets) en Clojure. ¿Alguien más ha recibido consejos sobre lo que debo vigilar?

Tenga en cuenta que conozco Java y Clojure bastante bien.

Actualizar

Hice la reescritura y entró en producción. Es bastante extraño ya que la reescritura terminó yendo tan rápido que se hizo en aproximadamente 6 semanas. Debido a que no se necesitaba mucha funcionalidad, terminó siendo más como 3000 líneas de Clojure. Escuché que están contentos con el sistema y está haciendo exactamente lo que querían. El único inconveniente es que el tipo que mantiene el sistema tuvo que aprender Clojure desde cero, y fue arrastrado a patear y gritar. Recibí una llamada de él el otro día diciendo que amaba a Lisp ahora ... divertido :)

Además, debería darle una buena mención a Vaadin. El uso de Vaadin probablemente representó la mayor parte del tiempo ahorrado y la brevedad del código como lo hizo Clojure. Vaadin sigue siendo el mejor framework web que he usado en mi vida, ¡aunque ahora estoy aprendiendo ClojureScript con ira! (Tenga en cuenta que tanto Vaadin como ClojureScript usan los marcos de GUI de Google debajo del capó)