Python: ventajas y desventajas

| | ,

Python tiene muchas ventajas, pero ¿sabrías decir cuáles son sus desventajas? Más de uno pensará: “No puede tener muchas. Si es uno de los lenguajes de programación más utilizados, ¡por algo será!” Sí, por supuesto que tiene muchos pros, pero también tiene algunos contras que no está de más conocer.

Ventajas de Python

Hablemos primero de las características de Python que suponen grandes ventajas:

Propósito general

Es un lenguaje de propósito general, es decir, permite crear programas de cualquier tipo: desde aplicaciones de Data Science hasta páginas web completas.

Open source

Es open source, es decir, es gratuito y puedes utilizarlo de forma libre en cualquier sistema operativo. Además, el hecho de ser open source ha favorecido la creación de una enorme comunidad detrás de este lenguaje, gracias a lo cual el lenguaje nunca queda obsoleto y va recibiendo actualizaciones periódicas.

Portable

Puede ser utilizado en todos los sistemas operativos: Windows, Linux, etc.

Simple

Es muy sencillo y fácil de aprender, lo que hace posible que cualquier principiante pueda empezar a desarrollar programas de manera muy rápida.

Sintaxis clara

Python es un lenguaje ordenado y limpio, y tiene una sintaxis clara, obligando a que se respete una correcta indentación en todo el código. Esto hace que todos los programas escritos en Python tengan una estructura unificada y fácil de entender.

Alto nivel

Es un lenguaje de alto nivel, lo que se traduce en una mayor facilidad de uso. Con un lenguaje de bajo nivel tendrías que preocuparse de gestionar algunos asuntos más complejos, como por ejemplo la memoria del programa, mientras que con Python esto no es necesario.

Orientado a objetos

Es un lenguaje orientado a objetos, es decir, está basado en objetos que agregan tanto datos, como funcionalidades. Normalmente, se considera que la programación orientada a objetos favorece la reusabilidad, el mantenimiento y la fiabilidad del código.

Multiparadigma

Además, no solo ofrece programación orientada a objetos, sino también programación estructurada, imperativa y funcional. Por ello, se le considera un lenguaje multiparadigma.

Interpretado

Es un lenguaje interpretado, es decir, no hace falta compilarlo. Esto se traduce en un desarrollo mucho más rápido.

Incrustable

Es fácilmente incrustable, gracias a lo cual es posible incorporar programas escritos en Python a otros programas escritos en lenguajes diferentes, como C y C++.

Fuerte tipado dinámico

Es de tipado dinámico, lo que significa que el valor que tienen asociado las variables puede cambiar en pleno tiempo de ejecución. Además, está fuertemente tipado, y esto implica que el tipo de valor no cambia repentinamente, es decir, una cadena de texto que tiene almacenado un único número entero no se convertirá en un número sin haber realizado antes una conversión de tipo (paso de string a tipo int, en este caso).

Librerías

Hay un montón de librerías disponibles que incorporan muchísimas funcionalidades extras.

Desventajas de Python

Es el momento de echar un vistazo a las principales desventajas de este lenguaje:

Ejecución más lenta que en los lenguajes no interpretados

¿Recuerdas que en punto anterior dijimos que era un lenguaje interpretado y esto permitía ahorrar tiempo durante el desarrollo? Pues, a cambio, la ejecución del programa es más lenta, ya que los programas son ejecutados por el intérprete de Python en lugar de por la máquina donde lo arrancamos.

Aprendizaje para el desarrollo web

A pesar de que es perfectamente posible desarrollar webs completas en Python, la cosa se complica cuando lo que queremos es construir webs con funcionalidades un poco más específicas. Para intentar solucionar este inconveniente, existen frameworks como Django, que fomentan el desarrollo mucho más rápido al proporcionar módulos y guías ya preparados para el formato web en Python.

Hosting

No todos los servicios de hosting están preparados para soportar aplicaciones en Python.

Conclusiones

Teniendo en cuenta las ventajas y desventajas de Python, en mi opinión es unos de los mejores lenguajes de programación para aprender a programar. De hecho, sus características hacen de él un lenguaje que también le suele encantar a cualquier persona que ya sepa programar. ¿Tú qué opinas? ¿Se te ocurre alguna ventaja o desventaja más?

Anterior

¿Qué es una política en el aprendizaje por refuerzo? (RL 4)

Stateless Widget, el estático

Siguiente

Deja un comentario