Clojure

Definición - ¿Qué significa Clojure?

Clojure es un lenguaje de programación dinámico que es un dialecto, o variante, del lenguaje de programación Lisp. Está diseñado para ser de propósito general y combina el desarrollo interactivo y la accesibilidad de un lenguaje de scripting con una infraestructura robusta y eficiente utilizada para la programación multiproceso.

También es un lenguaje compilado que se compila directamente en código de bytes JVM sin dejar de ser completamente dinámico.

Techinfo explica Clojure

Clojure fue desarrollado por Rich Hickey como un dialecto de Lisp que apunta directamente a la máquina virtual Java (JVM). Debido a esto, comparte la filosofía de código como datos y el poderoso sistema de macros de Lisp. Se considera predominantemente un lenguaje de programación funcional que presenta un conjunto de estructuras de datos inmutables y persistentes.

Clojure también tiene un sistema de memoria transaccional de software cuando se requiere un estado mutable, y un sistema de agente reactivo, que asegura que los diseños multiproceso sean correctos y limpios.

Las características de Clojure incluyen:

  • Estrecha integración de Java donde las aplicaciones se empaquetan e implementan fácilmente en JVM y otros servidores de aplicaciones
  • Las funciones se consideran objetos de primera clase
  • Desarrollo dinámico con un ciclo de lectura-evaluación-impresión
  • Se hace hincapié en la recursividad y otras funciones de orden superior en oposición al bucle basado en efectos secundarios.
  • Proporciona estructuras de datos inmutables y persistentes como hashmaps, listas y conjuntos.
  • El sistema del agente, el sistema var dinámico y la memoria transaccional del software permiten la programación concurrente
  • Los métodos múltiples permiten el envío dinámico de los valores o tipos de cualquier argumento