Skip to content

Instantly share code, notes, and snippets.

@wmonteiro-ai
Last active September 22, 2025 13:57
Show Gist options
  • Select an option

  • Save wmonteiro-ai/db34f7a91ab7526800884e948d8920fb to your computer and use it in GitHub Desktop.

Select an option

Save wmonteiro-ai/db34f7a91ab7526800884e948d8920fb to your computer and use it in GitHub Desktop.
Leituras - Raciocínio Computacional

Guia de leitura para programação em Python

Nível Fácil

Livros perfeitos para quem nunca escreveu uma linha de código. Foco em construir uma base sólida de forma amigável e com resultados rápidos.

Mão na Massa (Foco em Projetos)

Conceitos e fundamentos

  • Think Python, 2nd Edition (Pense em Python) por Allen B. Downey
  • The Self-Taught Programmer (O Programador Autodidata) por Cory Althoff

Leitura leve

  • Head First Python, 2nd Edition (Use a Cabeça! Python) por Paul Barry
  • Invent Your Own Computer Games with Python por Al Sweigart
  • Python for Kids: A Playful Introduction to Programming por Jason R. Briggs

Nível Médio

Para quem já domina a sintaxe e quer escrever código mais robusto, idiomático e se aprofundar em áreas específicas.

Escrevendo código "pythônico"

  • Effective Python: 90 Specific Ways to Write Better Python por Brett Slatkin
  • Serious Python: Black-Belt Advice on Deployment, Scalability, Testing, and More por Julien Danjou

Ciência da Computação Aplicada

  • Grokking Algorithms (Entendendo Algoritmos) por Aditya Bhargava

Foco em Dados

  • Python for Data Analysis, 3rd Edition por Wes McKinney

Nível Difícil

Para quem busca maestria na linguagem e nos princípios avançados de engenharia de software.

Dominando a Linguagem

  • Fluent Python, 2nd Edition (Python Fluente) por Luciano Ramalho
  • Using Asyncio in Python por Caleb Hattingh

Testes e Qualidade

  • Python Testing with pytest por Brian Okken

Nível Hardcore

Quando você quer sofrer, mas aprender muito durante o processo.

Teórico e acadêmico

  • Structure and Interpretation of Computer Programs (SICP)
  • Introduction to Computation and Programming Using Python por John V. Guttag

Interpretadores

  • CPython Internals: Your Guide to the Python 3 Interpreter por Anthony Shaw
  • High Performance Python por Micha Gorelick & Ian Ozsvald

Foco em exercícios

A teoria ensina o caminho, mas a prática constrói o músculo. Estes livros são focados em oferecer um grande volume de problemas para você resolver e realmente internalizar os conceitos.

  • The Python Workbook: A Brief Introduction with Exercises and Solutions por Ben Stephenson
    • Contém mais de 175 exercícios, cobrindo desde a sintaxe básica até tópicos mais complexos. É o companheiro ideal para qualquer outro livro teórico, permitindo que você aplique imediatamente o que aprendeu.
  • Cracking the Coding Interview por Gayle Laakmann McDowell
    • Embora focado em preparação para entrevistas em big techs, é uma das melhores coleções de problemas de algoritmos e estruturas de dados que existem. Resolver seus desafios força você a pensar criticamente e a otimizar suas soluções.
  • Python by Example: Learning to Program in 150 Challenges por Nichola Lacey
    • Começa com desafios muito simples e aumenta a dificuldade gradualmente. É perfeito para iniciantes que se sentem perdidos e querem uma trilha clara de exercícios para ganhar confiança.
  • Doing Math with Python por Amit Saha
    • Para quem tem afinidade com matemática e quer ver aplicações práticas. O livro ensina conceitos matemáticos (álgebra, estatística, cálculo) e imediatamente propõe exercícios para implementá-los em Python, tornando a matemática interativa e visual.

Livros Controversos (leia com senso crítico)

A leitura é altamente recomendada, não como um manual de regras, mas como um tratado histórico para entender a evolução do pensamento em engenharia de software.

  • Clean Code (Código Limpo) por Robert C. Martin (Uncle Bob)

    • Foi revolucionário por dar aos desenvolvedores uma linguagem para discutir a qualidade do código como um ofício (craftsmanship). Seus princípios ajudaram a organizar bases de código caóticas no mundo inteiro.
    • É criticado por ser dogmático, focado em excesso no Java (muitas regras não são idiomáticas em Python) e por promover um estilo de micro-otimização (funções minúsculas, classes para tudo) que pode levar a um código fragmentado e super-engenheirado.
    • Leia para entender a filosofia da "limpeza", mas questione cada regra. Use os princípios como guia, não como lei.
  • Design Patterns: Elements of Reusable Object-Oriented Software (Padrões de Projeto) por "Gang of Four" (GoF)

    • É o livro que catalogou e deu nome aos padrões de projeto. Criou um vocabulário essencial para qualquer arquiteto de software (Singleton, Factory, Observer, etc.) e é uma obra fundamental da ciência da computação.
    • A crítica principal é que muitos padrões são soluções para deficiências de linguagens como C++ e Java. Em linguagens modernas como Python, recursos como funções de primeira classe e decoradores resolvem os mesmos problemas de forma muito mais simples. A aplicação cega dos padrões GoF em Python quase sempre leva a um código verboso e desnecessariamente complexo.
    • Conheça os padrões para identificar os problemas que eles resolvem, mas sempre procure primeiro a solução "Pythônica" mais simples.
  • The Pragmatic Programmer (O Programador Pragmático) por David Thomas e Andrew Hunt

    • Um clássico amado, cheio de conselhos práticos sobre a mentalidade e as práticas de um desenvolvedor eficaz. Dicas como "DRY" (Don't Repeat Yourself) e "Rubber Duck Debugging" se tornaram parte da cultura dev.
    • É Algumas dicas técnicas da primeira edição ficaram datadas (a edição de 20 anos corrige isso). Críticos apontam que alguns conselhos são vagos ("Care About Your Craft") e que princípios como o DRY são frequentemente mal interpretados, levando a abstrações prematuras e ruins.
    • Entenda o espírito por trás das dicas, em vez de seguir a letra da lei.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment