Think Python, 3rd Edition

A new third edition of *Think Python* is drawing praise as an accessible, computer-science-focused introduction to programming that many credit with launching or redirecting their careers. Commenters highlight its shift to Jupyter notebooks, inline visual tools, and a pedagogy that emphasizes problem-solving over mere syntax, contrasting it with more language-centric beginner texts like *Python Crash Course*. The thread branches into recommendations for follow-on Python and type-system resources, reflections on teaching and learning paths, and brief debates over Python’s suitability for more advanced concurrency-heavy systems.

Overall reception and impact

  • Many commenters are enthusiastic; earlier editions reportedly “changed the trajectory” of multiple careers and helped people finally “get” programming or OOP.
  • Several describe it as their first serious programming resource, still foundational even after moving to other languages.
  • Some nostalgia from readers who learned with earlier editions 10–15 years ago.

Pedagogy and positioning vs other books

  • Common view: this book teaches “how to think like a programmer/computer scientist using Python,” not just Python syntax.
  • Contrasted with “Python Crash Course,” which is seen as more focused on quickly learning the language itself; some argue Think Python is the better first recommendation, others treat them as complementary.
  • One commenter worries the 3rd edition looks “dumbed down”; others push back, saying content seems substantially intact with updated problems and prose.

Jupyter / notebook-based edition

  • Strong enthusiasm for the Jupyter/Colab approach and inline turtle graphics.
  • Seen as aligning with current practice in education and data science, and likely to make learning more interactive.
  • Some interest in how to debug efficiently in notebooks; no clear consensus answers.

Use in teaching

  • Multiple instructors report using the 2nd edition in college intro courses, with consistently positive student feedback.
  • Considered useful even as a source of “soft syllabus” material for people planning to teach community/maker-style classes.

Supporting and obtaining the book

  • Current print edition is still in pre-order in various regions.
  • Several note that donations via the publisher’s site may be a more direct way to support the work than buying through large retailers.

Intermediate/advanced Python and typing resources

  • For advanced Python: recommendations include Fluent Python, Effective Python, Serious Python, Practices of the Python Pro, idiomatic-style guides, stdlib docs, and reading real-world code.
  • For type systems and typed languages: many suggestions, including books on TypeScript, F#, domain modeling, and classic PL/type-system texts; some debate about difficulty for beginners and whether to start with practice in typed languages first.

Concurrency and language suitability

  • One subthread debates how to build Erlang/Elixir-style concurrent systems in Python.
  • Suggestions range from asyncio, gevent, multiprocessing, Celery, and RabbitMQ to accepting that Python may be a poor fit for highly concurrent, fault-tolerant actor-style systems.
  • Some tension between those frustrated by Python’s concurrency model and others who see the criticism as misdirected.