Iniciando estudos na linguagem de programação Clojure

Gilmar Soares
Training Center
Published in
3 min readJul 8, 2017

Bom, primeiro vou me apresentar.

Sou Gilmar, sou Desenvolvedor no Magazine Luiza na area mais conhecida como Luizalabs.

No Luizalabs trabalho com Python, utilizando frameworks como Django, Aiohttp dentre outros. Antes de trabalhar no Luizalabs, trabalhei na Autopass, empresa que administra o cartão BOM, como programador Java.

Muitas pessoas tem curiosidade para saber o motivo da mudança de Java para Python, mas na verdade temos que ter em mente é que linguagens de programação são apenas ferramentas para atender necessidades.

Bom, mas vamos parar de enrolação e começar a falar do assunto descrito no título, Clojure.

Tenho visto muitas pessoas falando de benefícios da Programação Funcional, pensar de forma diferente a Orientação a Objetos, tratar dados como dados de fato e não converter isso para objetos e depois ter a necessidade de converter para dados novamente.

Mesmo trabalhando com Python e já ter trabalhado com Java, resolvi fazer alguns Hello Worlds aqui e compartilhar com quem esta pensando em iniciar com programação funcional, assim como eu.

Não existem muitos artigos em português sobre o assunto, eu até pretendo reescrever em ingles pois assim vejo Clojure e treino inglês também, mas pretendo deixar todos os artigos nas duas línguas.

Pois bem, vamos iniciar…

Instalando o interpretador de Clojure

Para usar Clojure no seu computador, é necessário ter Java pois todo código Clojure é executado na JVM.

A instalação pode ser vista através do seguinte link para Windows, Mac e Linux:

Instalação do Leiningen.

OBS: Se for mac é só utilizar brew install leiningen

A linguagem Clojure foi pensada como Lisp, então devemos pensar em um conceito de funções e não orientação a objetos. A sintaxe no inicio parece estranha, mas no fim das contas quando começar a utilizar você vai se acostumar e acreditar que faz sentido.

Vamos iniciar com o básico, o chamado Hello World e depois vou demostrar um pouco mais de funções e como é a estrutura de Clojure.

Um hello world em Clojure

Bom, para interagir com Clojure, podemos usar o comando lein repl e você conseguirá fazer códigos Clojure no terminal, da mesma forma que Python, Ruby utilizando terminais para testar códigos:

Last login: Sat Jul 8 13:59:24 on console
➜ ~ lein repl
nREPL server started on port 50364 on host 127.0.0.1 — nrepl://127.0.0.1:50364
REPL-y 0.3.7, nREPL 0.2.12
Clojure 1.8.0
Java HotSpot(TM) 64-Bit Server VM 1.8.0_121-b13
Docs: (doc function-name-here)
(find-doc “part-of-name-here”)
Source: (source function-name-here)
Javadoc: (javadoc java-object-or-class-here)
Exit: Control+D or (exit) or (quit)
Results: Stored in vars *1, *2, *3, an exception in *e

user=>

A partir desse user=> podemos codificar e vamos iniciar com Hello World.

Bom, como falei acima, temos que pensar em funções e não em orientação a objetos e tudo mais, então vamos chamar a função println:

user=> (println “Hello World”)
Hello World
nil
user=>

Como vemos acima utilizamos println e passamos como parâmetro o texto a ser impresso no terminal. Na linha abaixo temos o print da String que utilizamos no parâmetro, e após isso o retorno nil pois a função não retorna nada.

Basicamente iniciamos com um parênteses, após isso a função que vamos utilizar, e por fim o parâmetro. Como estamos usando funções, podemos passar N parâmetros, por exemplo, vou passar 3 parâmetros para essa função e veremos o resultado:

user=> (println “Hello” “World” “Gilmar”)
Hello World Gilmar
nil
user=>

Bom, acho que já da para instalar Clojure, entender o básico da Sintaxe e tentar um Hello World.

Vou tentar fazer um post por semana, seguindo minha evolução dos estudos na linguagem.

Duvidas, sugestões, reclamações são MUITO BEM VINDAS. Esse é o primeiro artigo que estou fazendo e espero além de aprender conseguir contribuir com todos que tenham interesse.

Próximos passos:

Exemplo no repositório github.

Abraços!!!

--

--