Introdução ao Clojure
Clojure é uma linguagem de programação dinâmica e funcional, sendo um dialeto moderno de Lisp que roda sobre a Java Virtual Machine . O design da linguagem prioriza a simplicidade e a robustez, focando no tratamento de estado e identidade através de Imutabilidade por padrão e estruturas de dados persistentes.
Por ser uma linguagem “hospedada”, o Clojure mantém interoperabilidade bidirecional direta com o Java, permitindo o uso de bibliotecas existentes do ecossistema Java. A linguagem utiliza um sistema de tipagem dinâmica, mas forte, e enfatiza o desenvolvimento interativo através do REPL.
Principais características:
- Paradigma Funcional: Ênfase em funções puras e dados imutáveis.
- Homoiconicidade: O código é escrito usando as próprias estruturas de dados da linguagem (listas), o que facilita a metaprogramação via Macros.
- Concorrência: Oferece mecanismos nativos como
Atoms,RefseAgentspara gerenciar estado compartilhado sem os riscos tradicionais de locking manual.