Cada año, la revista especializada Dr. Dobbs Journal, reconoce los mejores libros que se han publicado en los últimos 12 meses a través de sus premios Jolt en distintas categorías. Este año hubo 30 nominados propuestos por editores, vendedores, lectores y los propios jueces de Jolt. Los jueces hacen una selección inicial que reduce el campo a una cantidad significativa de entradas y entonces, se hace una segunda selección, en donde los libros con más votos son seleccionados y clasificados, después de una larga discusión en general. Como usualmente se hace en estos casos, el mejor libro del año recibe el premio Jolt. Los dos siguientes reciben el premio a la productividad y los siguientes tres libros reciben el status de finalistas.
El premio al mejor libro del año fue para Mark Summerfield por su obra “Python in Practice”.
Este es un libro fascinante pero es para programadores intermedios o avanzados en Python. No es un primer libro para quien no ha tenido contacto con Python, pero sin duda es un libro que deben leer aquellos que programan “decentemente” en este lenguaje y buscan programar mejor.
Los tres primeros capítulos del libro se basan en el tema de diseño de patrones, un paradigma cada vez más generalizado para entender la construcción de los programas de computadora. En este caso, el autor decidió ilustrar prácticamente los patrones en Python, en lugar de dar el enfoque académico tradicional. Las explicaciones en las secciones “Sobre lo que hay que saber” y los ejemplos de código son concisos y suficientes para ilustrar los temas precisamente. Con la combinación de patrones, es claro que las ideas se ven más entendibles.
Hay un estupendo capítulo sobre concurrencia, que discute las Entradas/Salidas versus los límites de la concurrencia en los CPUs y mutithreading versus multiproceso, incluyendo el famoso GIL (Global Interpreter Lock).
Tal vez el capítulo sobre cómo extender Python nos hable de la peor debilidad del lenguaje, su desempeño bastante lento. El libro presenta muchas soluciones para compilar Python a código nativo y llamar a las bibliotecas de C y C++ directamente. Es un capítulo complejo pero de nuevo, el libro no está pensado para principiantes.
Tal vez el capítulo más deficiente es sobre networking de alto nivel. Se enfoca en las llamadas a procedimientos remotos (RPCs), el cual es un enfoque que ha perdido popularidad en los últimos años. En lugar de esto, quizás un capítulo sobre bajo nivel, en lo que se refiere a programación de scokets y en REST/HTTP de alto nivel, podría haber sido mejor para así introducir el diseño de un API para la Web.
El capítulo sobre las interfaces gráficas y su programación es muy bueno. El autor presenta varias opciones y discute su preocupación sobre las plataformas cruzadas. Muchos de los temas los trabaja basándose en demostraciones de las técnicas básicas, diálogos e incluso la creación de un juego completo usando Tkinter, un toolkit de plataforma cruzada que viene con Python.
Finalmente, el último capítulo cubre más sobre las interfaces con el usuario y la programación 3D con OpenGL. Para ello usa dos bibliotecas, PyOpenGL y Pyglet
Sin duda, Python está cobrando mucha popularidad. En la Facultad de Ciencias de la UNAM se enseña cada vez más y lo único que me parece absurdo es que aún se use en modo de intérprete en lugar de tener ya compiladores nativos eficientes. El libro trata este tema pero fuera de esto, toda la obra resulta estupenda para quien ya programa consistentemente en Python. Por ello, la revista Dr. Dobbs le da el premio al mejor libro del año.
Referencias: