El gran libro de Python. Marco Buttu

Чтение книги онлайн.

Читать онлайн книгу El gran libro de Python - Marco Buttu страница 4

Автор:
Серия:
Издательство:
El gran libro de Python - Marco Buttu

Скачать книгу

y la 3.0, en 2008. En cambio, las minor version (las versiones menores, aquellas que tienen el mismo major number y se diferencian por el primer número después del punto) aparecen cada uno o dos años.

      Las funcionalidades que se añaden a las minor version son retrocompatibles, lo que significa que todo el código escrito para una versiones menores funcionará del mismo modo también en las sucesivas. Por tanto, el código escrito para la versión 3.x funcionará de manera idéntica en todas las versiones 3.y, siendo y mayor que x.

      Sin embargo, en las versiones principales no se garantiza la retrocompatibilidad. Si el código de una versión principal x no se puede ejecutar con una y, x < y, o bien sí se puede pero el resultado es distinto, se dice que es incompatible con la versión y.

      NOTA

      Este libro ha sido actualizado a Python 3.4. El código ha sido ejecutado tanto en Python 3.3 como en Python 3.4 (evidentemente, las funcionalidades presentadas en la 3.4 solo han sido probadas en dicha versión). Para conocer las principales incompatibilidades entre Python 2 y Python 3 consulte el Apéndice B, titulado Principales puntos de rotura entre Python 2 y Python 3.

      Para indicar las versiones en las cuales se resuelven ciertos errores presentes en la versión menor, se utiliza un tercer número, denominado micro number, o patch number. Por ejemplo, en la versión x.y.1 de Python el número 1 indica el micro número. Por tanto, la 3.4.1 es la primera bug-fix release (o versión con errores corregidos) de Python 3.4. Por último, es posible ver un código detrás del número de versión, por ejemplo, 3.4.1a3, 3.4.1b2, 3.4.1c4. Este código se utiliza para indicar las sub-release. Los códigos a1, a2, … aN indican las alpha release, que pueden añadir nuevas funcionalidades (por ejemplo, la 3.4.1a2 podría presentar funcionalidades que no se incluyen en la 3.4.1a1). Los códigos b1, b2, … bN indican las beta release, que pueden resolver los bug pero no pueden añadir nuevas funcionalidades. Los códigos c1, c2, … cN indican las versiones candidate, en las cuales el desarrollo del núcleo comprueba escrupulosamente la corrección de errores. La herramienta utilizada para proponer los cambios en el lenguaje es la Python Enhancement Proposal, que se indica con el acrónimo PEP. Las PEP son documentos públicos revisados por los desarrolladores y la comunidad, con la finalidad de ser aprobados o descartados por Guido. Las PEP tratan distintos aspectos del lenguaje y se identifican por un código único (por ejemplo, PEP-0008). El archivo de todas las PEP se encuentra en la página http://www.python.org/dev/peps/. Para acceder a la página de una determinada PEP, es preciso añadir el texto /pep-code/ a la dirección del archivo; por ejemplo, la página de la PEP-0008 es accesible desde la URL http:// www.python.org/dev/peps/pep-0008/. Tengamos todo esto presente, puesto que nos referiremos a las PEP durante todo el libro.

      NOTA

      La nomenclatura y la gestión del lanzamiento de las versiones de Python se trata en la PEP-0101, titulada Doing Python Releases 101, mientras que las micro-release y las sub-release se tratan en la PEP-0102.

      El estado del arte

      Python es un lenguaje consistente y maduro, utilizado en diversos ámbitos: web, desarrollo de interficies gráficas, programación de sistemas, networking, bases de datos, cálculo numérico y aplicaciones científicas, programación de juegos y multimedia, gráficos e inteligencia artificial, entre muchos otros.

      Se trata de un lenguaje multiplataforma, es decir, disponible para los principales sistemas operativos, y se incluye automáticamente en las distribuciones Linux y en los ordenadores Macintosh. Además, proporciona todas las herramientas para escribir de manera sencilla programas portables, es decir, que se comportan del mismo modo si se ejecutan sobre distintas plataformas. Podremos ver un ejemplo elocuente de código portable en el ejercicio final de este capítulo.

      Se utiliza con éxito a nivel mundial en las empresas y organizaciones más variadas, entre las cuales se encuentran Google, la NASA, YouTube, Intel, Yahoo! Groups, reddit, Spotify Ltd, OpenStack y Dropbox Inc. Esta última merece una mención aparte, puesto que su historia nos permite evidenciar distintos puntos fuertes de Python.

      Dropbox es un software multiplataforma que ofrece un servicio de alojamiento y sincronización automática de archivos a través de la web. Su primera versión fue lanzada en septiembre de 2008 y en muy poco tiempo tuvo un éxito sorprendente, llegando a los 50 millones de usuarios en octubre de 2011 y a los 100 millones el año siguiente, como anunció el 12 de noviembre de 2012 Drew Houston, uno de los dos fundadores de Dropbox Inc.

      Casi un mes después del anuncio de este increíble resultado, el 7 de diciembre de 2012, Drew nos sorprendió a todos con otra clamorosa noticia. Guido van Rossum, tras haber sido partícipe durante siete años de la buena suerte de Google, se unía al equipo de Dropbox:

      Nos complace dar la bienvenida, de forma insólita, a un nuevo miembro de la familia Dropbox. Aunque su incorporación es muy reciente, sus aportaciones a Dropbox han sido evidentes desde el primer día, desde la primera línea de código.

      Son muy pocas las personas que no necesitan presentación, y el BDFL (“el dictador benevolente de por vida”) es una de ellas. Dropbox está orgulloso de dar la bienvenida a Guido, el creador del lenguaje de programación Python, y amigo nuestro desde hace mucho tiempo. Han pasado cinco años desde que nuestro primer prototipo fue guardado como dropbox.py, y Guido y la comunidad de Python han sido cruciales en ayudarnos a resolver retos que han concernido a cientos de millones de personas.

      Por todo ello, acogemos a Guido con admiración y gratitud. Guido nos ha inspirado a todos, ha desarrollado un papel fundamental en el modo en que Dropbox une los productos, los dispositivos y los servicios en nuestra vida. Estamos muy contentos de tenerlo en nuestro equipo.

      En ese mismo anuncio, Drew rindió homenaje a Python, su lenguaje de programación favorito, elogiándolo por su portabilidad, simplicidad y flexibilidad:

      Desde el principio, estaba claro que Dropbox tenía que funcionar en todos los sistemas operativos. Históricamente, este aspecto representaba un reto importante para los desarrolladores: cada plataforma precisaba distintas herramientas de desarrollo, distintos lenguajes de programación, y los desarrolladores debían escribir el mismo código múltiples veces.

      No teníamos tiempo de hacerlo y, afortunadamente, Python llegó para socorrernos. Unos años atrás, Python se había convertido en mi lenguaje de programación favorito porque presentaba un equilibrio entre simplicidad, flexibilidad y elegancia. Estas cualidades de Python, y el trabajo de la comunidad para soportar cada una de las plataformas más importantes, nos permitió escribir el código una sola vez y ejecutarlo en cualquier lugar. Python y la comunidad han sido una influencia para la filosofía más importante que está detrás de Dropbox: realizar un producto simple que reúna toda nuestra vida.

      Aquellos que conocen Python pueden confirmar que cuanto dice Drew Houston es cierto. Todo el mundo sabe que programar con Python es un placer, gracias a su sintaxis clara y comprensible, que lo hace simple y fácil de aprender, pero también porque solo con los tipos integrados y con la librería estándar puede hacerse casi todo, y únicamente ante exigencias muy especializadas es preciso recurrir a librerías de terceros. A todo esto debemos añadir otro importante mérito: Python es un lenguaje multiparadigma, es decir, que permite utilizar diferentes paradigmas de programación: meta-programación, procedural, funcional, a objetos y scripting.

      NOTA

      Por honestidad intelectual, tengo el deber de informaros acerca de una importante contraindicación de uso de Python: crea dependencia. Cuando hayáis aprendido a programar con Python, os será muy difícil prescindir de él.

      Dicho esto, Drew ha sacado partido de sus decisiones

Скачать книгу