¿Cómo funciona Python, qué lo hace bueno y quién, cómo y por qué lo usa en el trabajo? ¿qué aplicaciones usan Python? Guía para programadores e interesados en Python.

Python es un lenguaje de programación de scripts. Es versátil, por lo que es adecuado para resolver diversas tareas y para muchas plataformas: desde iOS y Android hasta sistemas operativos de servidor.

¿Cómo y dónde se aplica Python?

Es un lenguaje interpretado, no compilado, como C++ o Java. Un programa en Python es un archivo de texto normal. El código se puede escribir en prácticamente cualquier editor o utilizar IDE especiales:

  • PyCharm: un potente entorno de desarrollo de JetBrains.
  • Spyder: IDE optimizada para trabajar en Data Science. Viene en el paquete con Anaconda.
  • IDLE: el editor de texto estándar incluido en el lenguaje.
  • SublimeText: editor de texto con muchos plugins.
  • Visual Studio Code: un popular editor de texto de Microsoft.
Manos escribiendo código Python en un portátil. Descubre quiénes usan Python.
Desarrolladores y programadores utilizan Python para diversas aplicaciones.

Python se puede encontrar casi en todas partes: en la web, aplicaciones móviles y de escritorio, y también en juegos. Se utiliza para escribir redes neuronales, realizar investigaciones científicas y probar programas. Hablemos más detalladamente sobre las principales áreas de su aplicación.

Desarrollo web

Python se utiliza con más frecuencia en el desarrollo web. Se han escrito muchos frameworks para él: FastAPI, Flask, Tornado, Pyramid, TurboGears, CherryPy y el más popular, Django.

Además, en Python se escriben analizadores para recopilar información de páginas web. Se hace esto con bibliotecas populares como:

  • Scrapy: una biblioteca de alto rendimiento y multiplataforma con una gran comunidad de usuarios.
  • Beautiful Soup: una biblioteca simple y potente para analizar documentos HTML y XML. Se distingue por su buena documentación.
  • Selenium: una herramienta para la automatización y prueba de aplicaciones online, que permite simular el funcionamiento de un navegador.

Investigación científica y aprendizaje automático

Gracias a su concisión, sintaxis simple y rico conjunto de herramientas, Python se ha convertido en el lenguaje favorito de los científicos. Existen bibliotecas especiales para Python que permiten construir gráficos, realizar investigaciones y cálculos:

  • SciPy: un conjunto de herramientas para cálculos científicos.
  • NumPy: una extensión que permite operar con matrices y matrices multidimensionales.
  • pandas: una biblioteca para el análisis de datos.
  • Matplotlib: una biblioteca para construir gráficos de diversa complejidad.

También para Python hay muchas herramientas ML gratuitas:

  • TensorFlow;
  • scikit-learn;
  • Keras;
  • pandas.

Pruebas

Otra área de aplicación de Python es la automatización de pruebas. Muchos especialistas en automatización de QA eligen Python por su simplicidad. Es ideal para aquellos que tienen poca experiencia en el desarrollo de aplicaciones. Una comunidad desarrollada, una sintaxis lógica y legibilidad simplifican el proceso de aprendizaje.

Python tiene frameworks simples para pruebas modulares:

  • unittest;
  • nose;
  • pytest.

Qué aplicaciones usan Python

Aunque el lenguaje no se compila, con él se pueden crear programas de escritorio. He aquí, por ejemplo, una pequeña lista de aplicaciones populares escritas en Python:

Qué aplicaciones usan Python? BitTorrent es un ejemplo de programa que utiliza este lenguaje.
BitTorrent, un ejemplo de qué aplicaciones usan Python
  • GIMP: editor visual en Linux;
  • Ubuntu Software Centre: centro de aplicaciones en el sistema operativo Ubuntu (una de las distribuciones de Linux);
  • BitTorrent hasta la sexta versión: administrador de descargas torrent (más tarde el programa se reescribió en C++, pero las redes peer-to-peer todavía funcionan en Python);
  • Blender: programa para crear gráficos 3D;
  • Ansible: un mecanismo de gestión de la configuración que permite desplegar software multinodo;
  • Mercurial: una herramienta multiplataforma para la gestión de código fuente distribuido.

Aplicaciones móviles

El desarrollo móvil en Python es menos popular. Para Android, se utiliza con más frecuencia Java, C#, C++ o Kotlin, y para iOS, Swift u Objective-C. En Python, normalmente se programa la parte del servidor de la aplicación.

Por ejemplo, el cliente de Instagram* para iOS está escrito en Objective-C, y el servidor en Python. Sin embargo, Python tiene frameworks para el desarrollo de aplicaciones GUI móviles multiplataforma: Kivy y BeeWare.

Juegos

Muchos juegos de ordenador están escritos total o parcialmente en Python. Existe la idea errónea de que este lenguaje no es adecuado para proyectos serios, pero en realidad se ha utilizado en el desarrollo de éxitos como:

  • Battlefield 2;
  • World of Tanks;
  • Civilization IV;
  • The Sims 4;
  • EVE Online.

Aunque Python permite escribir interfaces de usuario y trabajar con gráficos, la mayoría de las veces se utiliza para escribir scripts, por ejemplo, para la interacción de personajes, el lanzamiento de escenas y el procesamiento de eventos.

En Python se escribió la inteligencia artificial AlphaStar para StarCraft 2, capaz de derrotar a los jugadores profesionales más fuertes.

Empresas que usan Python

Principalmente, Python lo utilizan las startups y las empresas que desarrollan grandes proyectos. Esta es sólo una parte de la enorme lista de sus usuarios: grandes organizaciones:

  • Google: utiliza el lenguaje como componente del motor de búsqueda.
  • Dropbox: aplica Python para optimizar la parte del servidor y la interfaz externa.
  • Spotify: utiliza Python para el análisis de datos.
  • Instagram, Facebook: se utiliza en la parte del servidor.
  • BitTorrent: la empresa construyó una red peer-to-peer en Python.
  • Agencia Nacional de Seguridad de los Estados Unidos: cifra y analiza datos de inteligencia.
  • Esri: utiliza Python como herramienta de configuración de programas de información geográfica.
  • Pixar, Industrial Light & Magic: crean películas de animación en Python.
  • Intel, Cisco, HP, Seagate, Qualcomm e IBM: prueban y analizan el mercado con Python.
  • NASA, Fermilab, JPL: aplican el lenguaje en cálculos científicos.

Además, Python se utiliza en Positive Technologies, Houdini, Yahoo, Red Hat, Pinterest, Quora, VK y Yandex. En resumen, Python existe en prácticamente todas las empresas.

Lee también: ¿Qué programas se pueden hacer con Python?

Ventajas de Python

La principal ventaja de Python es su simplicidad. No es necesario dedicar meses al estudio de una sintaxis compleja, como en C++, ni preocuparse por las fugas de memoria. El lenguaje lo hará todo por ti.

Otras ventajas de Python:

  • Es un lenguaje interpretado. Antes de su ejecución, un programa en Python es un archivo de texto normal que se puede ejecutar en cualquier plataforma donde esté instalado el intérprete.
  • Es ideal para principiantes. Python está bien diseñado y es lógico. Para su estudio ni siquiera es necesario saber inglés. Gracias a su simplicidad, el desarrollo es mucho más rápido, ya que el programador escribe menos código.
  • El lenguaje tiene una potente comunidad. La comunidad de usuarios de Python es tan grande que si te encuentras con un error que no entiendes, es probable que encuentres rápidamente su solución en Internet. Después de todo, alguien antes que tú ya se ha encontrado con una situación similar y ha publicado la solución en Stack Overflow.

Desventajas de Python

Y ahora pasemos al pero de la cuestión:

  • Los programas en Python se encuentran entre los más lentos. Las aplicaciones para iOS en Swift funcionan 8,7 veces más rápido que en Python. La implementación de PyPy es casi tan rápida como Java, pero no tiene todas las capacidades del lenguaje original. Python no es adecuado para tareas que requieren un gran volumen de memoria; es mejor resolverlas con inserciones en C o C++.
  • Gran dependencia del lenguaje de las bibliotecas del sistema. Esto dificulta la portabilidad de las aplicaciones a otros sistemas. Para resolver el problema, se inventó Virtualenv, pero también tiene sus inconvenientes: redundancia de los métodos completos de aislamiento, soluciones provisionales, duplicación de bibliotecas del sistema.
  • Global Interpreter Lock (GIL) no permite ejecutar varios hilos simultáneamente en la implementación de CPython. Sin embargo, GIL se puede desactivar durante un tiempo, como se hace en el paquete NumPy.
  • Tipado dinámico. “¡Guau! — dirás. — ¿Acaso el tipado dinámico no es genial?”. Por un lado, sí, pero es precisamente por esto que los errores se muestran durante la ejecución (runtime), y no durante la compilación (compile time).

Empleo y salario medio de un desarrollador Python

La popularidad de Python ha ido creciendo durante más de ocho años, y el lenguaje ocupa a menudo los primeros puestos en el índice TIOBE. Paralelamente, también crece la demanda de desarrolladores Python.

El salario medio de un desarrollador en Estados Unidos ronda los $110.000 USD anuales, mientras que en España se sitúa en torno a los 38.000 € anuales. Sin embargo, para alcanzar esos niveles, es necesario dominar no solo el propio lenguaje, sino también sus frameworks y otras tecnologías adicionales.

Según el índice TIOBE, la popularidad de Python crece año tras año.

El salario de entrada para desarrolladores principiantes comienza en torno a los $55.000 USD anuales en EE. UU. y los 22.000 € anuales en España. Los programadores con más de dos años de experiencia pueden esperar un salario de entre $80.000 y $95.000 USD en Estados Unidos y entre 30.000 y 35.000 € en España.

Conclusión

En esta publicación has aprendido quienes usan Python, las empresas que usan Python y qué aplicaciones usan Python.

El lenguaje de programación Python se vuelve cada vez más popular y solicitado cada año. Es ideal para muchas áreas de desarrollo: desde la web hasta las pruebas y el análisis de datos.

Los programas en Python son flexibles, se escalan fácilmente y para su creación no es necesario tener un gran equipo de desarrolladores. El lenguaje tiene una sintaxis simple e intuitiva y una potente comunidad que lo desarrolla y populariza.

Categorizado en:

Python,