¿La principal manifestación de la escalabilidad de Python?
Incluso si hay una gran cantidad de código Python en tu proyecto, aún puedes organizarlo de manera ordenada separándolo en múltiples archivos o módulos. Y puede seleccionar código de un módulo y leer propiedades de otro módulo. Aún mejor, la sintaxis de acceso de Python es la misma para todos los módulos. No importa si el módulo está en la biblioteca estándar de Python o lo creaste hace un minuto, o es una extensión que escribiste en otro idioma. ¡Con estas características, sentirás que estás "extendiendo" el lenguaje! necesario, y esto ya se ha hecho.
Los cuellos de botella en el código pueden ser aquellos puntos críticos que siempre ocupan los primeros lugares en el análisis de rendimiento o algunos lugares que enfatizan particularmente el rendimiento, que se pueden reescribir en C como una extensión de Python. Es necesario reiterar que estas interfaces son exactamente las mismas que las de los módulos puros de Python, e incluso el código y los métodos de acceso a objetos son exactamente los mismos. La única diferencia es que estos códigos aportan importantes mejoras de rendimiento. Naturalmente, todo esto depende de su aplicación y sus requisitos de recursos. Muchas veces, es absolutamente beneficioso reescribir las partes de cuello de botella del programa utilizando código compilado, porque puede mejorar significativamente el rendimiento general.
Esta extensibilidad en los lenguajes de programación permite a los ingenieros agregar o personalizar herramientas de manera flexible y acortar los ciclos de desarrollo. Aunque los lenguajes convencionales de tercera generación (3GL) como C, C++ e incluso Java tienen esta característica, la facilidad de escribir extensiones en C es de hecho la ventaja de Python. Además, existen herramientas como PyRex que permiten la programación mixta de C y Python, lo que facilita la escritura de extensiones, ya que convierte todo el código en código C.
Debido a que la implementación estándar de Python se completa utilizando el lenguaje C (es decir, CPython), las extensiones de Python deben escribirse en C y C++. La implementación Java de Python se llama Jython y sus extensiones están escritas en Java. Finalmente, está IronPython, que es una implementación de C# para las plataformas .NET o Mono. Puede ampliar IronPython usando C# o VB.Net.