notifications Notificaciones

Marcar todas como leídas

Ver más

Python 2.x o Python 3.x

Eduardo GP.

Twitter black efdb1623688b2a14a7705d191dbbe0265332efb257756a714f7fb5403f5e782c @eduardo_gpg

¿Qué versión debo de utilizar?

Si hoy en día estas comenzando a programar y has escogido Python como tu lenguaje para iniciar o ya eres un desarrollador Python pero utilizas las versión 2.7 y no sabes aun si moverte de versión, este articulo puede darte una idea de cual debes de escoger.

Con el lenguaje de programación Python nos topamos con la sorpresa que tenemos dos grandes versiones que podemos utilizar, no como los otros lenguajes de programación donde siempre estaremos con la versión más reciente, ya sea por los libros, los tutoriales, los foros, los ejemplos en github etc…, sin embargo con Python ocurre algo curioso, vamos a toparnos con todo lo ya mencionado pero con dos versiones diferentes para su aplicación, siendo Python en su versión 2.x (Siendo sincero siempre la versión 2.7) y la versión 3.x.

¿A que se debe esto? ¿Por qué aun existen programadores utilizando una versión más vieja ? ¿Enserio se realizaron tantos cambios entre versiones?.

Estas son como las preguntas más frecuente cuando nos encontramos comenzando en el tema de la programación y específicamente cuando comenzamos con el lenguaje de Python, si vienes del front end no te preocupes los cambios entre versiones no fueron tan radicales como le paso a Angular.

Pero si, si hubieron cambios importantes, cuando comenzamos y realizamos nuestro primer hola mundo en esta nueva versión y vemos que la sintaxis entre versiones es diferente (pero entendible) sabemos que hubieron cambios interesantes.

Guido Van Rossum (El creador de Python ) se centro para esta nueva versión en lo que conocemos como Unicode. El problema con esto es que las versiones viejas, “no son del todo compatibles” con las nuevas versiones, ¿ por qué lo coloco entre comillas?, con esto me refiero a proyectos pequeños, con los cuales simplemente podemos realizar un replace a lo que teníamos con la vieja sintaxis y agregarlos a la nueva, algunos formats, algunos paréntesis y listos, no hubo tanto dolor al migrar de versiones. Pero para proyectos de tamaño medianos y grandes esa opción no es la más viable, de hecho tendríamos que re-hacer eso proyectos para no tener al final del día un Frankenstein con un elevado costo de mantenimiento.

Y esto conlleva a que la mayor parte de las librerías escritas hasta el días de hoy con la versión 2.x no tengan compatibilidad con proyectos con la versión de Pyhthon 3.x, y cuando digo librerías me refiero desde la más sencilla que sea una calculadora, pasando por una que nos permita trabajar con imágenes hasta llegar a Frameworks de renombre. Y ese es el principal problema, no es tanto de ok, aprendo la nueva sintaxis (Que es muy sencilla) y listo, si no ¿Qué pasa con mis proyectos con la versión 2.7? ¿Les debo dejar de dar mantenimiento? ¿Paso todo a Python 3?

Aun a día de hoy ya después de de un par de años del release de Python 3, la versión de Python 2.7 Sigue siendo la más popular y esto lo podemos ver tanto en internet como en nuestro propio sistema operativo, basta con escribir en nuestra terminal

python -V.

y nos daremos cuenta de la realidad. Hay gente que comenta Python 3.(la más nueva) es la segunda versión más usada de Python, bueno eso es verdad cuando solo tienes dos opciones por elegir la 2.7 o la ultima de la 3.

¿Nos oponemos al cambio y realizamos la continuidad de la versión de Python 2.8?

La respuesta es No :D Como desarrolladores en software debemos tener conocimiento que las cosas cambian y no debemos de enfrascarnos con una sola tecnología debemos de actualizarnos constantemente, pero no por ello debemos dejar tirados nuestros proyectos con las viejas versiones.

¿Qué podemos hacer?

Mi respuesta se basaría en lo que ya están haciendo grandes empresas como lo es Facebook, Facebook tiene el veintiún por ciento de su infraestructura tecnología con Python, siendo más puntuales el dieciséis por ciento en Python con las versión 2 y el cinco por ciento con Python 3. Sin embargo todos sus nuevos productos que se realizarán con este lenguaje ya se están realizando con la versión más reciente, siendo necesario utilizar la versión 2.7 cuando el proyecto requiera ciertas cosas (muy puntuales) que en Python 3 no se puedan realizar aun.

Y con esa idea me quedaría yo: Si conocemos el alcance del proyecto y sabemos que tendremos las herramientas necesarias para concluir el proyecto (Librerías, Frameworks, Documentación … ) con ambas versiones yo utilizaría la versión más reciente de Python, la versión 3.X, si por el contrario, el final del proyecto no se ve claro o las herramientas que tenemos de software de terceros no son la suficientes y puede que el proyecto se ponga en riesgo, entonces la mejor opción es la versión 2.7 de de Python, (Nos vamos a la segura).

Como mi conclusión mencionaría que debemos de mantenernos actualizados siempre con tecnologías que nos gusten, y si Python es una de ellas para ti, es una obligación actualizarnos y ayudar a los futuros desarrolladores para que el cambio no sea tan difícil, realizando documentación legible, creando librerías nuevas o incluso pasando las que ya existen a la nueva versión.