Quinze anos atrás nascia a linguagem de programação que está na base do Nubank. Clojure é um dialeto do Lisp que tem uma filosofia de código como dados e um poderoso sistema de macros. É uma linguagem de programação simples e dinâmica, que foi desenvolvida em 2005.
Em 2020, a Cognitect, a empresa que patrocina e mantém o Clojure, juntou-se ao Nubank. Abaixo, descubra o que aconteceu nos últimos 15 anos, o que mudou com a chegada do Nubank e o que está por vir.
2007: o lançamento
O Clojure foi desenvolvido em 2005 por Rich Hickey (atualmente um Engenheiro de prestígio no Nubank) e o lançamento para a comunidade de desenvolvedores aconteceu em 2007. Quando o Clojure foi projetado por ele, o objetivo era criar uma linguagem amplamente aceita, que suportasse um modelo de programação mais simples do que aqueles que estavam disponíveis na época.
A programação estava se tornando muito complexa e havia a necessidade no mercado de uma nova ferramenta para desenvolvimento profissional. O gerenciamento do acervo estava se tornando inviável após um certo ponto.
“Ao programar, as pessoas não comentavam sobre a complexidade dos problemas que estávamos tentando resolver, mas sim sobre a complexidade das ferramentas que estávamos tentando usar”
Rich Hickey, criador do Clojure
A linguagem precisava ser rápida o suficiente para solucionar problemas que os programadores poderiam enfrentar com Java ou C#, por exemplo. A ideia era ter uma linguagem compilada que não exigisse um interpretador. Isso deveria ser simples, com uma pequena biblioteca que os programadores poderiam considerar que havia uma oportunidade de usar o Clojure ali. Mantê-lo pequeno era e continua sendo um objetivo.
Na visão de Clojure, a simplicidade garante a capacidade de se concentrar nos problemas que se quer resolver – seja no mundo, seja na sua organização. Isso permite que você pense no problema, não na tecnologia. Com ele, é possível acelerar e se concentrar no cliente e para onde o negócio está avançando.
2009: a adoção
Desde o início, o Clojure é uma linguagem de código aberto licenciada, e vários colaboradores estiveram envolvidos no desenvolvimento da linguagem e de seus recursos. O primeiro livro sobre Clojure foi publicado em 2009 por Stuart Halloway, e está agora em sua terceira edição.
“Eu cheguei ao Clojure em busca de simplicidade, poder e foco. O suporte do Clojure para esses objetivos tem sido inabalável, e o fundamento lógico do Clojure é basicamente o mesmo que era em 2007. Ao longo dos últimos quinze anos, eu também tive o prazer de ver (e ajudar a incentivar) a ênfase do Clojure em estabilidade, respeito e gerenciamento. Os ideais da equipe do Clojure sobre como as pessoas devem colaborar para criar e manter software de código aberto têm sido tão importantes quanto os méritos técnicos para o sucesso do Clojure.”
Stuart Halloway
Em 2010, a equipe do Clojure criou a primeira conferência do Clojure, a Clojure Conj. Quando foi perguntado aos participantes se usavam o Clojure para o trabalho, apenas algumas pessoas se apresentaram. Desde então, a conferência foi realizada quase todos os anos e, a cada evento, mais pessoas levantavam as mãos quando perguntadas se usavam o Clojure no trabalho. Devido à pandemia, a Clojure Conj não ocorrerá este ano, mas voltará a ser realizada em 27 e 28 de abril de 2023, em Durham, Carolina do Norte.
Estima-se que existam 50.000 programadores em Clojure no mundo todo. De acordo com pesquisas, a maioria dos desenvolvedores chegam ao Clojure a partir de linguagens como Java, JavaScript, Python, Ruby e outras linguagens de programação orientada a objetos. O que esses programadores encontram no Clojure é um código significativamente reduzido em comparação com outras linguagens.
2010: Datomic
Em 2010, os desenvolvedores começaram a trabalhar em um novo sistema de banco de dados que foi lançado em 2012, o Datomic. Ele era um sistema que apresentava todo o banco de dados ao desenvolvedor como um valor imutável em qualquer momento no tempo. O Datomic foi totalmente implementado em Clojure, e os recursos do Clojure facilitaram muito o desenvolvimento mais rápido.
2013: Cognitect
Em 2013 foi criada a Cognitect a partir da fusão da Relevance (uma consultoria fundada por Stuart Halloway e Justin Gehtland) com a Metadata Partners, uma consultoria fundada por Rich Hickey. Todos eles passaram a integrar uma equipe unificada, que hoje faz parte do time de engenharia do Nubank.
A Cognitect então se tornou (e continua sendo, dentro do Nubank), a patrocinadora e mantenedora do Clojure. Veja o depoimento de Alex Miller, que se juntou à Cognitect e à equipe do Clojure em 2013:
“Eu tinha um longo histórico de trabalho com o Java e o JVM em várias empresas. Em 2010, fui contratado para desenvolver uma nova série de produtos. Nós nos apaixonamos pela flexibilidade e simplicidade do Clojure e descobrimos que ele era um enorme diferencial contra os nossos concorrentes.
Em 2013, tive a oportunidade de me juntar à Cognitect e à equipe do Clojure, atuando como integrante da equipe central e como contato com a comunidade do Clojure. Tem sido uma grande alegria contribuir com o crescimento do Clojure e colaborar com uma comunidade repleta de pessoas e ideias incríveis.”
Alex Miller
2020: Nubank
Em 2020, a Cognitect juntou-se ao Nubank – e o Nubank expandiu o financiamento do desenvolvimento em Clojure. O Nubank é hoje o maior banco digital do mundo, com mais de mil microsserviços escritos em Clojure, e usa o Datomic como seu principal sistema de banco de dados. O Nubank escolheu o Clojure porque ele é imutável e idempotente, tem um formato declarativo e fornece funções pequenas e puras. Era uma escolha óbvia por causa de sua simplicidade no processo de programação.
“As pessoas que adotam o Clojure esperam encontrar talento, ou poder treinar pessoas que não tenham experiência com o Clojure. Isso é parte da história do Nubank. A maioria das pessoas supõe que precisa encontrar pessoas com experiência. É claro que é ótimo ter pessoas com experiência, mas é fácil aprender o Clojure. A adoção é simples e ocorre no seu ritmo, e muitas das pessoas que aprenderam Clojure não querem usar outra coisa.”
Rich Hickey
Assim como o Nubank, o Clojure é uma prova robusta de que a simplicidade funciona.
2022: Futuro
O plano para o futuro do Clojure é manter a compatibilidade com os programas existentes e continuar pensando em como facilitar a adoção do Clojure. Em termos de crescimento, é possível ver o Clojure aplicado em mais domínios, como a Ciência de Dados.
A simplicidade da ferramenta permite se concentrar nos problemas que se quer resolver sem perder tempo com a tecnologia.
“Começando como uma empresa jovem (e uma equipe jovem), o Clojure tem um design cheio de opiniões e a ambição de eliminar categorias inteiras de complexidade acidental, o que nos colocou em um caminho para construir uma cultura de engenharia com princípios e consideração. Ver a sabedoria do Clojure escalando ordens de magnitude e influência em uma empresa com (agora) milhares de engenheiros é realmente impressionante. Estamos apenas começando no Nu, mas ainda estamos dando continuidade ao trabalho de gigantes.”
Edward Wible, cofundador do Nubank
Evento de comemoração
Veja como foi o evento de comemoração dos 15 anos de Clojure.
Convidados:
- Rich Hickey, Autor do Clojure e Engenheiro de software de destaque;
- Stuart Halloway, Engenheiro de software de destaque;
- Alex Miller, Engenheiro de software principal;
- Michael Fogus, Engenheiro de software principal.