
Links citados no vídeo
Histórias de sucesso usando Clojure (em inglês): https://clojure.org/community/success_stories
Radar Tecnológico da ThoughtWorks: https://www.thoughtworks.com/pt/radar
Dica
Para saber o que uma função faz você pode executar a função doc e passar como parâmetro a função que quer consultar a documentação. Por exemplo, para consultar o que a função println faz, você pode executar o comando abaixo em seu REPL:
(doc println)
Links
IDEs/Editores/Plugins recomendados para programar em Clojure: https://clojure.org/community/tools
Leiningen: https://leiningen.org
Cursive: https://cursive-ide.com
IntelliJ: https://www.jetbrains.com/idea
Link
Definição de Self-testing code (em inglês): https://www.martinfowler.com/bliki/SelfTestingCode.html
Errata
Durante a gravação acabei esquecendo de renomear o teste e o nome acabou ficando nao-sei-o-nome-ainda-test até o final.
O correto seria, assim que percebi que iríamos testar a taxa-de-entrega, renomear o teste para taxa-de-entrega-test.
Eu não poderia definir um teste chamado apenas taxa-de-entrega pois já estamos usando este nome na definição da nossa função. Por isso é comum utilizarmos o sufixo test para evitarmos conflitos entre os nomes/símbolos.
Link
FAQ do Clojure citei durante o vídeo: https://clojure.org/guides/faq#qmark_bang
Aprenda a programar em Clojure usando o Paradigma Funcional. Ao longo do curso você irá aprender:
Instalar e configurar as ferramentas necessárias para programar em Clojure;
O que são Funções Puras;
O que são Funções de Primeira Ordem;
Utilizar as famosas funções map, filter e reduce;
Entender as vantagens de utilizar estruturas de dados imutáveis;
Implementar testes automatizados;
Construir softwares usando REPL Driven Development e TDD.
Finalmente entender por que Clojure tem tantos parênteses;
E muito mais!...
Embora ensine Clojure, a ideia deste curso é ser algo mais amplo que isso: depois deste curso você irá adquirir toda base necessária para aprender qualquer linguagem que utilize este paradigma.
Neste curso apresento os conceitos de forma bastante detalhada e em seguida mostro como aplicar esse conceitos em Clojure através de diversos exemplos. Vamos construir uma série de pequenos projetos para explorar tudo isso juntos!
São mais de 10 horas de videoaula!
Você entenderá as vantagens de utilizamos o paradigma funcional e terá uma base sólida o suficiente para conseguir construir softwares robustos, fáceis de manter e entender. Aprenderá também como criar softwares utilizando as técnicas de REPL Driven Development e de Test Driven Development.
Este curso irá acelerar seu aprendizado e será muito útil mesmo caso você decida utilizar outras linguagens de programação. Depois que aprendi este conceitos apresentados aqui, me tornei um programador Java, JavaScript, C# e Flutter/Dart muito melhor.