Capítulo 70. Redescubre la JVM con Clojure
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
James Elliott
En algún momento de 2007, el club de lectura de mi oficina leyó Java Concurrency in Practice, de Brian Goetz (Addison-Wesley). No habíamos pasado del prefacio de este importante libro cuando entramos en pánico al ver lo errónea que había sido nuestra ingenua comprensión del modelo de memoria de Java y la facilidad con que se introducen errores en el código multihilo. Se oyeron jadeos y al menos una pesadilla.
Al desarrollar una oferta en la nube altamente concurrente, necesitábamos un lenguaje que no ensuciara nuestra base de código con minas terrestres de estado mutable compartido. Elegimos Clojure: tiene sólidas respuestas de concurrencia y favorece la transformación funcional y eficiente de datos inmutables. Se ejecuta en la familiar JVM, interoperando sin problemas con el enorme ecosistema de bibliotecas Java. Aunque algunos dudaban sobre la desconocida sintaxis Lisp y sobre volver a aprender a programar sin mutar variables, fue una gran decisión.
Descubrimos en las ventajas de un flujo de trabajo centrado en REPL (bucle de lectura-evaluación-impresión) :
-
No hay que reconstruir ni relanzar para probar los cambios
-
Explorar el sistema de funcionamiento y probar variaciones al instante
-
Construir y refinar ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access