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.