Umm, en realidad, aunque Clojure se desarrolló con los desarrolladores de Java considerados, no se escribió para los programadores de Java.
Clojure está diseñado para interoperar bien en el entorno de Java.
Aunque lo hace, esto no es lo que que fue diseñado para (al menos no en la parte de la lengua "entorno Java"). Y el "entorno Java" implica que el lenguaje y la JVM están interconectados de alguna manera que los hace uno. Ellos no son. Conjure es un lenguaje JVM nativo (a diferencia de Jython o JRuby), y utiliza una máquina virtual muy bien construida para vivir dentro.
como Greg dicho, sin embargo, Clojure está construida para ser con Java, ya menos que se quiere conseguir realmente en el sistema de memoria transaccional de software de Clojure, yo diría que a la salida de un Lisp diferente.
No, lo siento. Clojure no era "construir para estar con Java". Fue construido para la JVM. Puede usar bibliotecas Java si lo desea, pero no es obligatorio (aunque es útil). Y en cuanto al consejo de usar un Lisp diferente si no quieres aprender Java. Eso es ridículo. Clojure no está destinado a ser Java; está destinado a ser un Lisp de primera clase. Y uno, por cierto, eso significa mejorar Lisp de ciertas maneras, para hacerlo más moderno y funcional. Su capacidad para trabajar bien con Java debería considerarse una bonificación, no una responsabilidad.
Como señala Greg anteriormente, los lenguajes como Clojure y Groovy apuntan a la JVM por una razón principal, para que los desarrolladores de Java puedan tener lo mejor de ambos mundos.
También equivocado. Por las razones indicadas anteriormente. No fueron escritos para desarrolladores de Java. Perdón por ser tan directo aquí, pero no he visto una publicación educada en Clojure en estas respuestas, ¡y acabo de enterarme de Clojure hoy! Es frustrante ver este tipo de consejos dañinos con tanta facilidad.
que acaba de terminar con una cita de Rick Hickey (el tipo que escribió Clojure):
"Usted puede odiar como Java y la JVM."
Él continúa diciendo que ahí es donde se encuentra.
Conozco ambos, y tengo opiniones, buenas y malas, a ese respecto. ¿Estás sugiriendo que la única forma en que puedo aprender Clojure es entrar en el juego con una sólida comprensión de Java o aprendiendo primero Java? – user54650
Ok, no sabía si estaba familiarizado con otras opciones de Lisp. Lo que sugiero es que, proveniente de un fondo Lisp existente, Clojure no te dará muchas novedades si no estás interesado en las funciones de interoperabilidad de Java. Quizás puedas explicar más sobre lo que estás buscando. –
Estoy buscando un Lisp robusto, estandarizado e independiente de la plataforma. Common Lisp simplemente apesta para los compiladores de Windows a menos que gastes dinero en lo más importante. El esquema carece de una estandarización lo suficientemente fuerte, con el minimalismo como una debilidad. – user54650