Hay muchas razones por las que amamos Python: entre ellas, su suave curva de aprendizaje y su sencilla sintaxis, lo que nos permite desarrollar proyectos a gran velocidad y desde nuestras primeras etapas como programadores. Además de esto, existe una magnífica y activa comunidad que contribuye y amplía permanentemente las posibilidades del lenguaje a través de librerías, que dotan de una gran potencia a cualquier proyecto, sin necesidad de "volver a inventar la rueda" en cada oportunidad.
Sin embargo, no es ningún secreto que esta sintaxis simple, sencilla y concisa tiene un costo en rendimiento: Python es un lenguaje donde cada sentencia es interpretada en tiempo real, durante el tiempo de ejecución. Otros lenguajes de programación que priorizan este punto, tales como C (lenguaje en el que de hecho está basado el desarrollo de Python), compilan el código para transformarlo directamente a lenguaje de máquina, que se ejecuta luego a máxima velocidad.
La conclusión de esto es sencilla: mientras que lenguajes cómo C optimizan los tiempos de ejecución del código, a costo de una sintaxis más compleja (pero más cercana a lo que el hardware es capaz de interpretar), Python por otro lado optimiza el tiempo de desarrollo del programa que, reconociéndolo, suele ser el recurso más costoso en un proyecto de programación (es decir, las horas de desarrollo por un programador capacitado). Esto sobre todo es valioso en etapas de prototipado dónde se busca precisamente estudiar la factibilidad de una solución de software.
Todo esto está a punto de cambiar. Si bien lo más seguro es que lenguajes compilados mantengan su liderazgo en tiempos de ejecución en el futuro, lo cierto es que se están realizando grandes esfuerzos desde los equipos de desarrollo de Python para implementar mejoras que permitan alcanzar mínimos tiempos de ejecución, manteniendo todas las ventajas que ya nos proporciona nuestro querido lenguaje. Este proyecto conocido como Faster CPython, impulsado por el propio Guido van Rossum (ahora trabajando en Microsoft) no descarta alcanzar velocidades 5 veces superiores a las actuales en el futuro próximo. Concretamente, la próxima versión del lenguaje, Python 3.11, que se espera para octubre del 2022, ya está mostrando resultados prometedores con tiempos de ejecución que mejorarían hasta en un 64% para determinadas tareas o benchmarks (con un promedio general aún cercano al 14%). Uno de los principales motivos detrás de estas mejoras, ya está descrita en PEP 659: el intérprete adaptativo especializado qué busca convertir operaciones dinámicas en estáticas (más rápidas de ejecutar), en los casos que esto sea aplicable.
Por supuesto, la mejor parte de todo eso sigue siendo que estas mejoras son ventajas añadidas construidas dentro del lenguaje, por lo que no se requeriría de suplementos o cambios en el código de programas ya escritos en Python, para aprovechar las ventajas de esta nueva versión.
Las mejoras no terminarán en Python 3.11, sino que este proyecto se extenderá un durante las próximas versiones, por lo que tendremos aún más novedades en los próximos meses, y mientras tanto una gran expectativa: esto ayudará a seguir constituyendo Python como un lenguaje cada vez más competitivo e interesante en el mundo del desarrollo.