Think Python, 3ª Edição

Uma nova terceira edição de *Think Python* está a receber elogios como uma introdução acessível à programação, focada em ciência da computação, que muitos creditam por ter lançado ou redirecionado as suas carreiras. Os comentadores destacam a mudança para notebooks do Jupyter, ferramentas visuais em linha e uma pedagogia que enfatiza a resolução de problemas em vez da mera sintaxe, em contraste com textos para iniciantes mais centrados na linguagem, como *Python Crash Course*. O fio também se desdobra em recomendações de recursos de seguimento para Python e sistemas de tipos, reflexões sobre ensino e percursos de aprendizagem, e breves debates sobre a adequação de Python para sistemas mais avançados, com muita concorrência.

Recepção geral e impacto

  • Muitos comentadores estão entusiasmados; edições anteriores, segundo relatos, “mudaram a trajetória” de várias carreiras e ajudaram pessoas a finalmente “entender” programação ou POO.
  • Vários descrevem-no como o seu primeiro recurso sério de programação, ainda fundamental mesmo depois de passarem para outras linguagens.
  • Há alguma nostalgia de leitores que aprenderam com edições anteriores há 10–15 anos.

Pedagogia e posicionamento em relação a outros livros

  • Visão comum: este livro ensina “como pensar como um programador/cientista da computação usando Python”, e não apenas a sintaxe de Python.
  • É comparado com “Python Crash Course”, visto como mais focado em aprender rapidamente a própria linguagem; alguns argumentam que Think Python é a melhor primeira recomendação, outros tratam-nos como complementares.
  • Um comentador receia que a 3ª edição pareça “simplificada em excesso”; outros contrapõem, dizendo que o conteúdo parece substancialmente intacto, com problemas e prosa atualizados.

Edição baseada em Jupyter / notebooks

  • Forte entusiasmo pela abordagem com Jupyter/Colab e gráficos turtle em linha.
  • Visto como alinhado com a prática atual no ensino e na ciência de dados, e com probabilidade de tornar a aprendizagem mais interativa.
  • Há algum interesse em como depurar eficientemente em notebooks; não há consenso claro nas respostas.

Uso no ensino

  • Vários instrutores relatam usar a 2ª edição em cursos introdutórios na faculdade, com feedback consistentemente positivo dos alunos.
  • Considerado útil mesmo como fonte de material de “currículo informal” para pessoas a planear ensinar aulas comunitárias/de estilo maker.

Apoiar e obter o livro

  • A edição impressa atual ainda está em pré-venda em várias regiões.
  • Vários observam que doações via o site da editora podem ser uma forma mais direta de apoiar o trabalho do que comprar através de grandes retalhistas.

Recursos intermédios/avançados de Python e tipagem

  • Para Python avançado: incluem-se recomendações como Fluent Python, Effective Python, Serious Python, Practices of the Python Pro, guias de estilo idiomático, documentação da stdlib e leitura de código real.
  • Para sistemas de tipos e linguagens tipadas: há muitas sugestões, incluindo livros sobre TypeScript, F#, modelação de domínio e textos clássicos de PL/sistemas de tipos; há algum debate sobre a dificuldade para principiantes e sobre se se deve começar primeiro com prática em linguagens tipadas.

Concorrência e adequação da linguagem

  • Um subfio debate como construir sistemas concorrentes ao estilo Erlang/Elixir em Python.
  • As sugestões vão desde asyncio, gevent, multiprocessing, Celery e RabbitMQ até aceitar que Python pode ser uma má escolha para sistemas de estilo ator altamente concorrentes e tolerantes a falhas.
  • Há alguma tensão entre os que se frustram com o modelo de concorrência de Python e os que veem a crítica como mal dirigida.