A linguagem Clojure foi criada por Rich Hickey e apresentada ao público pela primeira vez em 2007. Ela foi desenvolvida visando à construção de aplicações multitarefa de forma mais simples e concisa, aproveitando a maturidade da máquina virtual Java e eliminando parte da resistência das empresas por novas tecnologias, uma vez que praticamente toda a base de código existente hoje, escrita originalmente em Java, pode ser aproveitada e facilmente integrada a uma aplicação escrita em Clojure.
Por ser uma linguagem funcional, a menor unidade de trabalho passa a ser uma função. Isto significa que, enquanto em Java estamos acostumados a criar classes e objetos especializados, fazendo com que eles trabalhem em conjunto para resolver problemas, numa linguagem funcional nós criamos funções altamente especializadas que trabalham em conjunto para resolver praticamente os mesmos tipos de problemas.
Assim como numa linguagem orientada a objetos é normal que você passe objetos como parâmetros ou receba objetos como resultado, na programação funcional fazemos a mesma coisa com funções.
Outra característica que pode causar estranheza no início é que, por padrão, os valores em Clojure são imutáveis. Para quem vem do Java, é como se todos os valores fossem declarados usando a cláusula final.
Na prática isso faz com que você não tenha problemas quando duas threads precisarem acessar o mesmo valor, o que é uma das maiores dificuldades quando lidamos com aplicações concorrentes.
Clojure permite também que você altere a linguagempara que ela se adeque às suas necessidades. Isto é possível graças à criação demacros.
Criar uma macro é o equivalente a poder adicionar construções novas na linguagem. É um recurso tão poderoso que existem livros inteiros apenas sobre esse assunto.
No decorrer do artigo você vai aprender os conceitos básicos da linguagem e até mesmo a criar sua primeira aplicação.
Instalando o Clojure
A melhor ferramenta para começarmos a explorar o Clojure é oLeiningen. Esta ferramenta gerencia dependências e automatiza a compilação, execução de testes e geração de pacotes binários, além de permitir o uso de uma grande quantidade de plugins.
Se você já está familiarizado com o Maven no Java ou com o Rake no Ruby, não vai ter dificuldades em usar o Leiningen.
No site do Leiningen, indicado na seção Links, podem ser baixados os scripts de instalação para Linux/Mac e para Windows. Seguindo as instruções disponíveis, copie o script para algum diretório que esteja definido na variável de ambiente PATH e, caso você não esteja utilizando o Windows, marque o script como executável. Por fim, execute o comando a seguir, que exibe a versão atual da ferramenta:
lein -v
Nas primeiras vezes que o Leiningen for utilizado, será feito o download de algumas bibliotecas para seu computador, do mesmo modo que acontece com o Maven. Uma vez que determinada biblioteca seja baixada para a sua máquina, ela ficará disponível num repositório local, eliminando a necessidade de um novo download.
A versão do Leiningen empregada durante a escrita desse artigo foi a2.3.4, e esse número pode variar sem prejuízo algum ao entendimento do artigo.
Um dos principais recursos que o Leiningen oferece é chamado REPL, o qual usaremos em boa parte deste artigo. O REPL é um prompt para a linguagem no qual podemos definir valores, executar comandos e testar trechos de nossas aplicações de forma interativa. O nome REPL é um acrônimo para Read-Eval-Print-Loopou, em Português, Leia-Avalie-Imprima-Repita.
Primeiros passos
Após instalar o Leiningen, abra o seu terminal ou o prompt de comando, dependendo do sistema operacional que você esteja usando, e digite leinsem parâmetros para ver as opções disponíveis. Existem diversos plugins para o Leiningen que acrescentam itens a essa lista de opções ...
Desbloqueie toda a DevMedia
-
+2000 artigos e vídeos
-
+40 trilhas sobre Front-end, Back-end, IA e muito mais
-
+5000 exercícios práticos
-
Mentorias ao vivo individuais