Por qué todo el mundo quiere aprender Python

Python es, en la actualidad, uno de los lenguajes de programación más populares. Profesionales, estudiantes y especialistas de todo tipo eligen a esta tecnología para aplicarla en una gran variedad de ámbitos.

Este lenguaje de programación de código abierto que se caracteriza por ser claro y dinámico es usado tanto en plataformas comerciales como en educación.

¿Por qué este lenguaje tiene tanta aceptación en la comunidad? Nazareno Castro, ingeniero de software senior, viene a contarnos algunas de las razones:

¿Hace cuánto trabajás como desarrollador? ¿Con qué tecnologías comenzaste a programar?

Trabajo hace más de 5 años como desarrollador. Empecé programando en django y javascript (usando bibliotecas básicas como jquery o moment.js) y un poco más adelante comencé a usar Angularjs. Desde siempre trabajé con Python como parte principal de mis tareas, en un principio era full stack pero después terminé enfocándome en backend.

¿Participás en alguna comunidad de programación en la región? ¿Cuáles?

Participé un tiempo corto en py.ar pero no llegue a entender muy bien para que me servía y abandoné, así que no, no formo parte de ninguna comunidad.

Muchas personas eligen a Python como lenguaje a la hora de aprender programación ¿Por qué creés que pasa esto? ¿Qué características tiene en comparación con otros lenguajes?

Python está pensado para resolver problemas matemáticos por personas que saben matemática y no programación. De esta manera se formó como un lenguaje muy versátil y con poca burocracia. Lo que pasa con la gente que quiere aprender a programar y elije Python es que no pide casi nada para andar. No requiere de una JVM como Java o Scala, no requiere de un compilador difícil de instalar como pasa con C o por ejemplo no requiere de un IDE como smalltalks (donde el IDE es el lenguaje y es una cosa muy rara) pero al mismo tiempo tiene todos los features que traen todos los que nombre antes (o casi todos). Entonces tenemos un lenguaje que es fácil de setuppear, funciona en un editor de texto y permite hacer casi todo, desde objetos, programación funcional o algo parecido a programación estructurada.

¿En qué tipo de proyectos se puede aplicar Python? ¿Con qué otras tecnologías se puede combinar?

Los primeros proyectos donde me sale aplicarlo es en proyectos educativos. La UNQ (Universidad Nacional de Quilmes) donde estudié tiene un lenguaje de programación hecho en Python que se llama gobstones. Ahora mismo es el proyecto muto y es una versión web que es más cómoda, pero en su momento era un pseudo lenguaje hecho en Python. Es muy fácil entender sentencias en Python porque no tiene mucho símbolo, usa identación para separar los distintos alcances del código y se puede escribir código en cualquier lado y funciona (en java todo tiene que estar en una clase por ejemplo y es un archivo por clase) además no tiene tipos estrictos entonces no molesta al usuario con «este tipo no es aceptado por esta función».

Otra cosa que ayuda mucho a que Python llegue a las personas que están arrancando es la comunidad que tiene, que no para de implementar mejoras y herramientas sobre el lenguaje. Existen aplicaciones de Python ya sea para realizar procesamientos matemáticos o procesamientos de archivos y texto. Se usa también para la creación de webservice porque es muy fácil mantenerlo. Hoy en día para hacer análisis de información y a veces algo de data science se usa Python (la biblioteca Pandas)

A tu criterio, ¿qué habilidades y conocimientos debería tener un desarrollador backend en el 2021?

Algo básico que creo que tiene que tener un desarrollador backend es siempre tratar de entender cuáles son las responsabilidades de las cosas que está desarrollando. Esto también aplica a desarrolladores frontend, pero en el caso de backend los cambios suelen ser mucho más difíciles de promover. Si algo está mal pensado y mal implementado, va a quedar así por mucho tiempo. Generalmente (por mi corta experiencia) si uno trata de distribuir bien las responsabilidades, aunque esté trabajando en tecnologías viejas o esté desarrollando en un proyecto heredado, termina aportando mucho valor tanto al producto como al equipo. Es más fácil mantener cosas que intuitivamente nos damos cuenta donde están. Si lo implementado tiene un nombre descriptivo y hace eso y solo eso que su nombre dice, es un win para todes. En segundo lugar, creo que siempre voy a invitar a que los desarrolladores usen TDD (Test Driven Development). Probando que tiene que hacer nuestro código antes de hacerlo nos aseguramos que vamos a resolver ese problema (a todo en programación se le llama problema, aclaro) y solo ese problema y no otros también.

Si tuvieras que darle un tip a quienes estén arrancando a programar con Python, ¿qué les dirías?

Siempre traten de conocer cuáles son las nuevas herramientas que se están usando y traten de probarlas, estar dentro de lo posible actualizados. Y también siempre es bueno conocer las bases de la programación, saber que es SOLID por ejemplo y entender para que sirve. Yendo más a Python, creo que está bueno haber probado todas las herramientas más usadas (Django, Pandas, Numpy, Flask, Fastapi, Async.io, Tornado), y también saber qué cosas no se pueden hacer o son mejores hacerlas con otros lenguajes.


¿Cómo podemos ayudarte?
Hablemos.

Contactanos

¿Te ves trabajando acá? ¡Genial!

Unite al equipo