¿Python como primer lenguaje de programación?

¿Python como primer lenguaje de programación? Yo que usted, lo pensaría dos veces…

Python es uno de los lenguajes de programación más populares del siglo XXI. Es un lenguaje de propósito general utilizado para desarrollo web, inteligencia artificial, aprendizaje automático, ciencia de datos, desarrollo de aplicaciones móviles y algunos videojuegos.

Todas las últimas tendencias tecnológicas en el mundo actual utilizan directa o indirectamente el lenguaje Python. Esa es la razón más común por la que los principiantes quieren aprender ese idioma.


Python – Programación Hotshot!

Python es una tendencia candente. La gente suele perseguir las tendencias de la industria del software. No estoy sugiriendo que Python no sea un buen lenguaje de programación, pero está un poco publicitado.

Lo mejor de Python es su simplicidad y capacidad para realizar tareas con menos código. Puede realizar una tarea de 10 a 20 líneas de código en algún otro lenguaje con casi la mitad del número de líneas de código en Python.

Aunque el aprendizaje automático y la inteligencia artificial se pueden realizar en otros lenguajes de programación, Python es lo mejor para hacerlo.

 

¿Qué le pasa a Python?

Python es demasiado simple. Carece de elementos importantes de la programación orientada a objetos. Un programador experimentado aprenderá Python para necesidades específicas mientras domina el concepto de programación orientada a objetos.

Un principiante podría tener que pensarlo dos veces antes de seguir la mentalidad de rebaño en la industria del software. Hay muchas razones por las que un principiante no debería elegir Python como su primer lenguaje de programación:

1. La creación de objetos de Python no necesita un tipo

Hasta cierto punto, facilita la codificación. Pero, en mi opinión, es terrible para los nuevos programadores. Deben ser conscientes de los tipos de objetos que crean, y esto se vuelve mucho más difícil en el lenguaje Python.

2. Python carece de miembros de clase privada

La clave del concepto de POO es la encapsulación y el ocultamiento de información. Una clase debe tener sus miembros privados. Pero en Python, esto es casi imposible. (Los miembros pseudo-privados en Python, “__foo” no tienen mucho sentido).

3. Las funciones miembro en Python son puramente virtuales

No hay necesidad de interfaces. Las interfaces son importantes para los nuevos programadores para comprender la noción de encapsulación. Pero en Python, la escritura de interfaces simplemente no es recomendada (por el lenguaje mismo).

4. Biblioteca para casi todo

Actualmente hay más de 137.000 bibliotecas de Python. Las bibliotecas son un conjunto de funciones útiles que eliminan la necesidad de escribir códigos desde cero. Esta no es una buena práctica para alguien que es nuevo en la codificación, ya que esto reducirá drásticamente su curva de aprendizaje.

5. Problemas con el hilo

La implementación original (u oficial), CPython, tiene un bloqueo de interpretación global. Entonces, no hay hilos concurrentes reales. Además, la parte de concurrencia del código en Python no es tan fuerte como C ++ o Java.

6. La velocidad es una ilusión

Como sabemos, Python está escrito en lenguaje C, al igual que la mayoría de sus bibliotecas. Por lo general, las bibliotecas de un lenguaje de programación están escritas en el mismo lenguaje, pero en este caso, la mayoría de las bibliotecas están escritas en C y C ++.

7. Sangría en lugar de llaves

A muchos desarrolladores les encanta la sangría de Python. Sin embargo, el código con llaves sería mejor para los principiantes. Proporciona una vista mucho más clara y también diferencia por completo los bloques de código, que es fácilmente comprensible para ellos.

python

8. Manejo de errores en tiempo de ejecución

Es un lenguaje escrito dinámicamente. Requiere más pruebas y tiene errores que solo aparecen en tiempo de ejecución debido a la naturaleza dinámica. Esto podría ser realmente frustrante y desalentador para los principiantes.

9. ¿Cuál es su interés?

Si está interesado en convertirse en un desarrollador de juegos o aplicaciones móviles, es posible que no sea la tecnología adecuada para usted.
Tampoco es eficiente en la memoria debido a su naturaleza dinámica y de enlace tardío. Entonces, si su aplicación exige velocidad y eficiencia de la memoria, debe buscar alternativas.

10. Desafíos de implementación y depuración

Uno de los principales problemas es que cuando las aplicaciones comienzan a crecer, la implementación se convierte en un problema y también es muy difícil depurar el código de producción para detectar cualquier problema.

 

Conclusión

Si elige Python como su primer idioma para estudiar, puede formar algunos estilos de codificación muy malos (muchas variables de miembros públicos, falta de interfaces, etc.) y puede terminar con una comprensión deficiente de la Programación Orientada a Objetos.

 

Es mejor comenzar con C ++ o Java para desarrollar una mejor comprensión del concepto de POO.

 

La verdad es que nunca puede haber un lenguaje de programación perfecto para todo.

Python es un buen lenguaje de programación, pero debería considerar aprenderlo después de dominar al menos un lenguaje de programación-orientado-a-objetos. Además, apréndalo si está buscando específicamente una carrera en aprendizaje automático, inteligencia artificial o ciencia de datos.