jueves, 24 de febrero de 2011

Aprendiendo a programar con Python

Python es un lenguaje de programación de alto nivel, interpretado y multiplataforma. Cuenta con numerosas ventajas como tener una sintaxis clara y concisa, ser software libre, ser un lenguaje muy versátil (prácticamente de propósito general) con una completa biblioteca estándar, poderse usar tanto de forma estructurada como orientada a objetos, para aplicaciones de consola (incluyendo pequeños scripts) o para aplicaciones con GUI, para aplicaciones de escritorio o para aplicaciones web... Además, si usas Linux, tienes la suerte de tenerlo ya instalado, ya que cada vez más software de este sistema operativo está escrito en Python.

Nombrado así en honor del grupo de cómicos Monty Python, el lenguaje que nos ocupa no es ni mucho menos nuevo. Guido van Rossum, su creador, lo había concebido a finales de los años 80, pero fue en los 90 cuando lo publicó en Internet, abriendo así su desarrollo y potenciando su mejora y expansión, sobre todo a partir de la versión 2.0 publicada en el año 2000. En la década siguiente se hizo popular y sustituyó a Perl, uno de los lenguajes en los que se inspiró, en muchos de sus escenarios de uso. Actualmente se considera requisito técnico imprescindible en la compañía Google, y se usa ampliamente en otros gigantes de Internet como Yahoo o incluso en la mismísima NASA.

Al ser una tecnología ya madura con un modelo de desarrollo abierto cuenta con numerosa documentación y bibliografía, lo que facilita (incluso anima a) su aprendizaje:
  • Su autor, Guido van Rossum, ha publicado un libro introductorio de 165 páginas titulado An introduction to Python, que puede obtenerse en formato electrónico previo donativo de 5$ a la Python Software Foundation.
  • En español hay un buen libro introductorio de 160 páginas titulado Python para todos, escrito por Raúl González Duque y disponible de forma gratuita como documento web para su lectura online y también en formato PDF.
  • Otro libro gratuito introductorio, algo más breve, pero en inglés es A Byte of Python, disponible online y en PDF tanto para la versión 2.x del lenguaje como para la nueva versión 3.
  • Un libro interesante, escrito de forma colaborativa en wikibooks.org, es Python Programming, disponible también en formato PDF.
  • Dive Into Python es un libro más avanzado (entre 300 y 500 páginas) sobre este lenguaje y cuenta con versión electrónica gratuita, tanto para la versión 2.x, como para la versión 3.
  • Think Python (Piensa en Python), subtitulado "How to Think Like a Computer Scientist" (Cómo pensar como un informático) tiene un enfoque más didáctico, ya que fue concebido como un libro de texto académico para aprender a programar sin necesidad de conocimientos previos. El autor se dio cuenta de que Python era el lenguaje ideal para que sus alumnos aprendieran los fundamentos de la programación sin perderse en los detalles técnicos y/o la complejidad intrínseca del lenguaje utilizado (antes usaba Java ;) y además divirtiéndose (este hecho debería interesar a los "expertos" que diseñan los planes de estudios en nuestro país...)
En fin, que Python es, modas aparte, un lenguaje muy a tener en cuenta desde hace unos años y puede convertirse, en tan solo unas pocas semanas de aprendizaje y prueba, en una valiosa herramienta (incluso en el language of choice) en el arsenal de todo informático que se precie. Espero que la bibliografía recomendada contribuya a hacerlo más factible ;-)