No tengo experiencia con Python y es un lenguaje que me gustaría aprender, ya que siempre me cuentan que es el mejor lenguaje para hacer scrapping, pero me echa para atrás el hecho que en 2008 lanzarán una nueva versión de Python 3 que no era compatible con Python 2, dividiendo la comunidad donde algunos no veían la necesidad de reescribir todo su código a Python 3.
Ya han pasado muchos años de ello, justo el año pasado en 2013 sacaron Django 1.5 compatible con Python 3 e imagino que muchas librerías se habrán portado a la nueva versión de Python.
Quería pregunta a los pythoneros:
1- ¿Cual ha sido su experiencia de todo esto?
2- ¿Desde la salida de Python 3 cuando te has tomado en serio portar tu código a Python 3?
3- ¿Creen que los cambios de la versión 3 han valido la pena o ha sido más un dolor de cabeza?
Que gran post el que ha linkado Javi para explicar el asunto, de verdad :)
Resumiendo mucho el tema, lo cierto es que Python 3 es mejor que Python 2. Se han arreglado algunas malas decisiones de diseño, se han simplificado algunas cosas, y se han añadido features interesantes.
Igual de cierto es que esos cambios no han sido por sí solos lo bastante atractivos como para motivar a los usuarios de Python 2 a dar el salto. Mucho esfuerzo para una ganancia discutible.
La pregunta de Miquel es, al fin y al cabo, "¿vale la pena meterse en Python con ese tinglado que hay montado?". Y en menor medida, su subordinada "¿empiezo con Python 2 o 3?".
A la primera respondería que sí, desde luego. Python sigue siendo un lenguaje tremendamente producto por su alto nivel, con una comunidad inmensa y una plétora de librerías para hacer absolutamente de todo. Usado en cantidad de grandes proyectos, líder en varios sectores como el científico, una opción válida a todas luces. Luego, claro está, dependerá del tipo de proyectos que se quieran abordar. No escribiría un videojuego con Python, posiblemente. Pero para temas web, como comenta Miquel, es una herramienta excelente.
A la segunda pregunta, en cambio, respondería "depende". ¿Y de qué depende? Y aquí viene el chiste: de las dependencias del proyecto. Python 3 es objetivamente mejor que Python 2, bien, pero hay muchas librerías de terceros que todavía hoy no tienen soporte para Python 3. Si tu proyecto depende de alguna de ellas, mal asunto. Un ejemplo: http://python3wos.appspot.com/. En proyectos pequeños, como scripts sencillos, generalmente hay pocas dependencias, ir con Python 3 seguramente sea la mejor opción. En proyectos grandes, con muchas dependencias, es bastante fácil dar con varias que son sólo Python 2, y entonces Python 3 deja de ser tan viable.
Así que, my two cents, Python 3 si puedes (no dependes de libs ancladas en Python 2), y 2 si no te queda otra. En ese segundo caso, posiblemente interese usar herramientas como six (https://pythonhosted.org/six/) o future (http://python-future.org/), que ayudan a escribir código compatible con ambas versiones. Así hacer el cambio a Python 3 más adelante debería bastante más fácil.
Y nada, espero que el tocho haya quedado legible :)
Últimamente cuando me preguntan por este tema siempre recomiendo que lean este post de @aitorciki. Creo que resume muy bien la situación actual de este "debate":
http://blog.aitorciki.net/2014/01/12/mejor-si-pero-para-quien/
Y hablando de aprender Python, estoy organizando un taller en Almería (http://betabeers.com/event/taller-introduccion-a-python-1915/) para este sábado. Si quieres te paso todo el material ;)
No lo vamos a grabar porque no tiene mucho sentido por como se va a plantear (bastante largo, con ejercicios y descansos), pero el material estará disponible ;)
Hola Javi, necesito a alguien que maneje Python, tengo un cliente con una base de datos de Python que ha dejado de funcionar al pasar de Windows 7 a Windows 10. Conoces a alguien que me pueda echar una mano, por supuesto cobrando. Gracias.
Ya han pasado muchos años de ello, justo el año pasado en 2013 sacaron Django 1.5 compatible con Python 3 e imagino que muchas librerías se habrán portado a la nueva versión de Python.
Quería pregunta a los pythoneros:
1- ¿Cual ha sido su experiencia de todo esto?
2- ¿Desde la salida de Python 3 cuando te has tomado en serio portar tu código a Python 3?
3- ¿Creen que los cambios de la versión 3 han valido la pena o ha sido más un dolor de cabeza?
27/05/2014 19:49
Resumiendo mucho el tema, lo cierto es que Python 3 es mejor que Python 2. Se han arreglado algunas malas decisiones de diseño, se han simplificado algunas cosas, y se han añadido features interesantes.
Igual de cierto es que esos cambios no han sido por sí solos lo bastante atractivos como para motivar a los usuarios de Python 2 a dar el salto. Mucho esfuerzo para una ganancia discutible.
La pregunta de Miquel es, al fin y al cabo, "¿vale la pena meterse en Python con ese tinglado que hay montado?". Y en menor medida, su subordinada "¿empiezo con Python 2 o 3?".
A la primera respondería que sí, desde luego. Python sigue siendo un lenguaje tremendamente producto por su alto nivel, con una comunidad inmensa y una plétora de librerías para hacer absolutamente de todo. Usado en cantidad de grandes proyectos, líder en varios sectores como el científico, una opción válida a todas luces. Luego, claro está, dependerá del tipo de proyectos que se quieran abordar. No escribiría un videojuego con Python, posiblemente. Pero para temas web, como comenta Miquel, es una herramienta excelente.
A la segunda pregunta, en cambio, respondería "depende". ¿Y de qué depende? Y aquí viene el chiste: de las dependencias del proyecto. Python 3 es objetivamente mejor que Python 2, bien, pero hay muchas librerías de terceros que todavía hoy no tienen soporte para Python 3. Si tu proyecto depende de alguna de ellas, mal asunto. Un ejemplo: http://python3wos.appspot.com/. En proyectos pequeños, como scripts sencillos, generalmente hay pocas dependencias, ir con Python 3 seguramente sea la mejor opción. En proyectos grandes, con muchas dependencias, es bastante fácil dar con varias que son sólo Python 2, y entonces Python 3 deja de ser tan viable.
Así que, my two cents, Python 3 si puedes (no dependes de libs ancladas en Python 2), y 2 si no te queda otra. En ese segundo caso, posiblemente interese usar herramientas como six (https://pythonhosted.org/six/) o future (http://python-future.org/), que ayudan a escribir código compatible con ambas versiones. Así hacer el cambio a Python 3 más adelante debería bastante más fácil.
Y nada, espero que el tocho haya quedado legible :)
27/05/2014 12:15
http://blog.aitorciki.net/2014/01/12/mejor-si-pero-para-quien/
Y hablando de aprender Python, estoy organizando un taller en Almería (http://betabeers.com/event/taller-introduccion-a-python-1915/) para este sábado. Si quieres te paso todo el material ;)
27/05/2014 12:18
29/05/2014 13:23
04/09/2017 11:11