sábado, 6 de diciembre de 2008

Los cambios en Python 3.0

Recientemente se ha liberado la versión 3.0 de Python. Trae muchos cambios, para muchas personas trae incluso más cambios de los deseables, así que no corran a instalarlo ya, lean un poco y entiendan antes de decidir.

La mayor parte de los cambios producidos hasta el momento en Python, a través del tiempo, fueron en su inmensa mayoría cambios retrocompatibles. Esto implicaba que, a no ser que hubiéramos usado una particularidad MUY específica de un comando que tuviera un comportamiento extraño, no teníamos grandes problemas al cambiar de versiones.

La mayor parte de los problemas hasta ahora venían del uso de bibliotecas de terceras partes para realizar tareas específicas que eran compatibles solo con una versión determinada.

Sin embargo, al editar la versión 2.6 avisaron que esta era una versión de transición y que se ponían a trabajar en la versión 3.0, y que esta nueva versión 3.0 no sería retrocompatible, sino una reescritura y reordenamiento general. Incluso recibimos en la versión 2.6 algunos vistazos acerca de lo que nos depararía el futuro en la versión 3.0.

Viendo una lista de los cambios se puede observar que es una lista extensa, que incluye cambios en comandos, en su funcionamiento, en los tipos de datos, en nombres de bibliotecas o comandos. Esto hace que antes de usar nuestros viejos programas en 3.0 debamos actualizarlos. Por suerte, hay una herramienta que hace la mayoría de los cambios para nosotros, en forma automática llamada 2to3.

Un dato interesante es que los esfuerzos ahora quedan diferenciados entre la futura versión 3.1, para los que hicieron el cambio a la versión 3.0 y la futura versión 2.7, que actualiza algunas cosas del lenguaje sin romper la mayor parte de la retrocompatibilidad.

¿Que hacer entonces? eso depende en lo que tengamos ya hecho. Si depende de alguna biblioteca que no está aún en 3.0, no cambien. Si es un proyecto muy grande e incluso con 2to3 se hace difícil la conversión, no cambien. Si no tienen ninguno de estos problemas, pasense a 3.0, es el camino hacia un mejor Python.

Como siempre en estos casos, montar una máquina virtual para hacer las pruebas nos puede ahorrar muchos dolores de cabeza.

No hay comentarios:

Publicar un comentario