Paradigmas de Programação (Programming Paradigms) Funções Puras Efeitos Colaterais Imutabilidade Mutabilidade Estado Avaliação Preguiçosa Recursão Closures Tipagem Estática e Dinâmica Tipagem Forte e Fraca Orientação a Objetos Herança Composição sobre Herança Polimorfismo Encapsulamento Abstração