¿Python está perdiendo lentamente su encanto?
Desde su lanzamiento a principios de la década de 1990, el revuelo por Python nunca ha cesado.
Si bien Python domina los campos de la ciencia de datos, el aprendizaje automático y (hasta cierto punto) la informática científica y matemática, tiene su propio conjunto de ventajas, pero también sus propias desventajas en comparación con otros lenguajes emergentes. .
¿Por qué Python es tan popular?
Una de las principales razones del rápido crecimiento de Python es que es fácil de aprender y potente, lo que lo hace muy atractivo para principiantes e incluso para aquellos que evitan la programación debido a la oscura sintaxis de los lenguajes. como C/C Lo mismo ocurre.
Python primero enfatiza la legibilidad del código. La perfecta integración de Python con otros lenguajes de programación (por ejemplo, descargar tareas que requieren un uso intensivo de la CPU a C/C) es una ventaja adicional para los desarrolladores multilingües.
Otra razón de la popularidad de Python es que lo utilizan muchas grandes empresas (incluidos los cinco gigantes tecnológicos más grandes de EE. UU.) e innumerables pequeñas empresas. Hoy en día, ¿puedes encontrar paquetes de Python para cualquier cosa que quieras hacer? Está Numpy para informática científica, Sklearn para aprendizaje automático y Caer para visión por computadora.
Debilidades de Python
Lento, muy lento
¿Python está perdiendo su encanto?
Esto es obvio. La velocidad a menudo se cita como una de las principales preocupaciones de los desarrolladores, y es probable que siga siéndolo durante algún tiempo imprevisto.
Hay dos razones principales por las que Python es lento: Python se interpreta en lugar de compilarse, por lo que el tiempo de ejecución es más largo; Python se escribe dinámicamente (Python infiere automáticamente los datos de las variables durante el tipo de ejecución).
De hecho, "¿Python es lento?" Esta frase se escucha a menudo entre los principiantes. Sí, es cierto, pero no es del todo cierto.
Aprendizaje automático con Python. La biblioteca TensorFlow, por ejemplo, ¿estas bibliotecas realmente están escritas en C y luego envueltas en Python? Numpy es la misma y, hasta cierto punto, el intérprete global de Caer Locks.
Otra razón por la que Python se ejecuta lentamente es el GIL (. Global Interpreter Lock), que solo permite ejecutar un subproceso al mismo tiempo, lo que mejora el rendimiento de un solo subproceso pero limita el paralelismo. Para mejorar la velocidad, los desarrolladores deben usar múltiples procesadores en lugar de múltiples subprocesos.
No es adecuado. para tareas que requieren mucha memoria
Python recolecta basura automáticamente cuando están fuera de alcance. El consumo de memoria de Python puede dispararse rápidamente debido a la escritura dinámica.
Además, Python tiene muchos errores que pasan desapercibidos. eso puede surgir en tiempo de ejecución y, en última instancia, ralentizar el desarrollo significativamente menos.
Debilidades en la informática móvil
Con el enorme cambio de computadoras de escritorio a teléfonos inteligentes, existe una clara necesidad de dispositivos más potentes. Los lenguajes de programación para crear software móvil tienen una fuerte influencia en los campos de escritorio y servidores, pero debido a su falta de potentes capacidades de procesamiento de computación móvil, no han podido hacerlo en el campo del desarrollo móvil. >
En los últimos años, Python ha logrado grandes avances en este campo, pero estos avances aún no son comparables a competidores fuertes como Kotlin, Swift y Java.
El auge de otros lenguajes de programación
En los últimos años, han surgido lenguajes de programación emergentes como Julia, Rust y Swift, que han tomado prestados muchos conceptos de diseño excelentes de Python, C/C y Java: Rust ha logrado grandes avances en la seguridad de la memoria y la concurrencia del tiempo de ejecución, y proporciona interoperabilidad con WebAssembly; Swift es casi tan rápido como el lenguaje C debido a su soporte para la cadena de herramientas del compilador LLVM. / Las tareas vinculadas a O proporcionan E/S asincrónicas que son increíblemente rápidas.
Conclusión
Python nunca ha sido el mejor lenguaje de programación, ni nunca se ha utilizado para reemplazar a C/C y Java es un lenguaje de programación de propósito general que enfatiza ese código; Can Reading, la sintaxis centrada en el inglés acelera el desarrollo de programas y aplicaciones.
Python, al igual que otros lenguajes de programación, es en última instancia sólo una herramienta. A veces es la mejor herramienta, pero otras no. En su mayor parte, no está mal.
Entonces, ¿Python está muriendo como lenguaje de programación?
No lo creo.
¿Está perdiendo su encanto?
Tal vez un poco, pero sólo un poco.