Think Python, 3rd Edition

Una nueva tercera edición de *Think Python* está recibiendo elogios como una introducción accesible a la programación centrada en la ciencia de la computación, a la que muchos atribuyen haber impulsado o redirigido sus carreras. Los comentaristas destacan su paso a notebooks de Jupyter, herramientas visuales en línea y una pedagogía que enfatiza la resolución de problemas por encima de la mera sintaxis, en contraste con textos para principiantes más centrados en el lenguaje como *Python Crash Course*. El hilo deriva hacia recomendaciones de recursos de seguimiento sobre Python y sistemas de tipos, reflexiones sobre enseñanza y trayectorias de aprendizaje, y breves debates sobre la idoneidad de Python para sistemas más avanzados y con mucha concurrencia.

Recepción general e impacto

  • Muchos comentaristas están entusiasmados; se informa que ediciones anteriores “cambiaron la trayectoria” de varias carreras y ayudaron a la gente a finalmente “entender” la programación o la POO.
  • Varios lo describen como su primer recurso serio de programación, todavía fundamental incluso después de pasar a otros lenguajes.
  • Algo de nostalgia por parte de lectores que aprendieron con ediciones anteriores hace 10–15 años.

Pedagogía y posicionamiento frente a otros libros

  • La opinión común: este libro enseña “a pensar como programador/científico de la computación usando Python”, no solo la sintaxis de Python.
  • Se lo contrasta con “Python Crash Course”, que se ve más enfocado en aprender rápidamente el lenguaje en sí; algunos argumentan que Think Python es la mejor recomendación inicial, otros los consideran complementarios.
  • Un comentarista teme que la 3.ª edición parezca “simplificada en exceso”; otros responden que el contenido parece sustancialmente intacto, con problemas y prosa actualizados.

Edición basada en Jupyter / notebooks

  • Gran entusiasmo por el enfoque de Jupyter/Colab y los gráficos de turtle en línea.
  • Se considera que encaja con la práctica actual en educación y ciencia de datos, y probablemente hará el aprendizaje más interactivo.
  • Hay interés en cómo depurar eficientemente en notebooks; no hay respuestas claramente consensuadas.

Uso en la enseñanza

  • Varios instructores informan que usan la 2.ª edición en cursos introductorios universitarios, con comentarios de los estudiantes consistentemente positivos.
  • Se considera útil incluso como fuente de material de “programa blando” para personas que planean impartir clases comunitarias o de estilo maker.

Apoyar y obtener el libro

  • La edición impresa actual sigue en preventa en varias regiones.
  • Varios señalan que las donaciones a través del sitio del editor pueden ser una forma más directa de apoyar el trabajo que comprar a través de grandes minoristas.

Recursos intermedios/avanzados de Python y tipado

  • Para Python avanzado: se recomiendan Fluent Python, Effective Python, Serious Python, Practices of the Python Pro, guías de estilo idiomático, la documentación de la stdlib y leer código del mundo real.
  • Para sistemas de tipos y lenguajes tipados: muchas sugerencias, incluyendo libros sobre TypeScript, F#, modelado de dominio y textos clásicos de PL/sistemas de tipos; hay cierto debate sobre la dificultad para principiantes y sobre si empezar primero con práctica en lenguajes tipados.

Concurrencia y adecuación del lenguaje

  • Un subhilo debate cómo construir sistemas concurrentes al estilo de Erlang/Elixir en Python.
  • Las sugerencias van desde asyncio, gevent, multiprocessing, Celery y RabbitMQ hasta aceptar que Python puede ser una mala opción para sistemas de estilo actor, altamente concurrentes y tolerantes a fallos.
  • Hay cierta tensión entre quienes se frustran con el modelo de concurrencia de Python y otros que ven la crítica como mal dirigida.