Utilizaremos este roadmap como guia para nossos estudos, mas não somente nos limitando a ele e nem deixando ele sempre da mesma maneira.
Utilizaremos o livro Clojure for the brave and true como livro referência de estudos.
- O que é programação funcional?
- O que é Clojure
- Configurando o ambiente (instalando o JDK, Clojure e Leiningen)
- Conhecendo o REPL
- Hello World (criando arquivos Clojure)
- Criando projetos e rodando com o Lein
- Tipos primitivos
- Controle de fluxo
- Criando funções
- Estruturas de dados(Maps, Collections, Lists, Vectors, etc)
- Lists (first, take, nth, pop, conj)
- Vectors (conj, map, filter, reduce)
- Maps(get, get-in, contains?, assoc, find)
- Loops e recursão
- Utilizando funções da linguagem
- Diferentes comportamentos para uma função com aridade
- Funções anônimas
- Funções importantes da linguagem
- Criando um projeto
- Utilizando libs em seus projetos
- Organizando um projeto
- Interagindo com as funções do Java
- Criando pacotes
- Expressões regulares
- Átomos
- Protocolos e Datatypes
- Multimétodos e hierarquias
- Concorrência e Paralelismo
- Macros
- Utilizando Clojure em projetos Java
- Utilizando Clojure em projetos C#