Voy a comenzar este tutorial de Python para programadores presentando un poco las diferentes versiones, distribuciones y herramientas disponibles para el desarrollo de aplicaciones en este lenguaje.
En primer lugar hay que destacar que actualmente existen dos ramas del lenguaje: Python 2.x y Python 3.x (tambi茅n conocido como Python 3000 o Py3K). La diferencia entre ambas no la marca simplemente algunas mejoras y el n煤mero de versi贸n sino las importantes diferencias entre ellas que hacen que incluso se haya perdido la compatibilidad hacia entre versiones. De ah铆 la importancia de la elecci贸n entre Python 2.x o 3.x. Se pueden consultar algunas de las diferencias m谩s importantes entre Python 2.x y Python 3.x en su web de documentaci贸n.
En cuanto a las distribuciones disponibles tenemos a煤n m谩s alternativas. La distribuci贸n original y m谩s extendida es CPython, que compila c贸digo para su propio runtime incluido en la instalaci贸n. Sin embargo, existen otras muchas implementaciones del lenguaje sobre otras plataformas, aunque hay que considerar en cada caso sus diferencias con CPython. Por nombrar las m谩s interesantes:
- Jython, implementaci贸n del lenguaje Python para la plataforma Java. Diferencias entre Jython y CPython.
- IronPython, implementaci贸n del lenguaje Python para la plataforma .NET. Diferencias entre IronPython y CPython.
Le toca el turno a los entornos de desarrollo (IDEs) para Python. Existen algunos buenos IDEs comerciales para Python, como Wingware o Komodo, pero me voy a centrar en otras alternativas gratuitas y/o open source que son igualmente v谩lidas, si no mejores.
En primer lugar podemos encontrar algunos IDEs completos como IDLE (incluido con la propia distribuci贸n de CPython, bastante b谩sico) o PyScripter. Sin olvidar por supuesto que podemos utilizar nuestro editor de texto favorito (Vim, Emacs, Notepad++, …) para la edici贸n de c贸digo y ejecutar las aplicaciones desde la l铆nea de comandos.
Pero dado que esto pretende ser un tutorial de Python dirigido a programadores Java y .NET, existe otra alternativa m谩s interesante para el desarrollo con Python, y consiste en utilizar alg煤n plugin Python para nuestro propio IDE Java o .NET. As铆, las opciones m谩s extendidas son:
- Netbeans + Python. Extensi贸n de Netbeans que permite el desarrollo de aplicaciones Python sobre Netbeans. Esta extensi贸n se encuentra a煤n en desarrollo por lo que su funcionalidad y estabilidad podr铆an no ser a煤n las deseadas.
- Eclipse + PyDev. Plugin de Eclipse para el desarrollo con Python y Jython. Incorpora las opciones t铆picas: completado de c贸digo, coloreado de c贸digo, refactorizaci贸n, depuraci贸n y muchas otras.
- Visual Studio + IronPython. Implementaci贸n de Python para la plataforma .NET. Incluye integraci贸n con Visual Studio para poder aprovechar las caracter铆sticas de este IDE en el desarrollo de aplicaciones Python.
- SharpDevelopr + IronPython. En la 煤ltima versi贸n del fant谩stico IDE SharpDevelop se incluye soporte para el desarrollo con IronPython.
- IronPython Studio. IDE completo desarrollado sobre la plataforma Visual Studio Shell, es decir, IDE construido sobre la base de Visual Studio pero completamente independiente de 茅ste 煤ltimo.
En mi caso particular, he elegido la distribuci贸n de CPython versi贸n 2.5 y utilizar茅 Eclipse y PyDev como entorno de desarrollo. Los motivos son simples, es 茅sta la versi贸n de Python que soporta por ahora Google App Engine, que ser谩 el servicio de hosting Python que utilizar茅 durante las pruebas.
En la siguiente entrada de la serie detallar茅 la instalaci贸n y preparaci贸n del entorno de desarrollo indicado (Python 2.5 + Eclipse + PyDev).
3 comentarios
como hacer un codigo para desarrollar un ajedrez en c#..
Muy interesante lo que escribes en el post Oliver gracias, yo he probado Phyton 3 la version para windows y linux es interesante pero la verdad francamente no la he usado para una aplicaci贸n en serio, mas que nada para peque帽os experimentos… De hecho Phyton viene instalado por defecto en ubuntu… asi que no es traumatico empezar…
Much铆simas gracias.. la verdad es que est谩 todo perfectamente explicado y me ha servido de gran ayuda pues tengo en mente una aplicacion dedicada al mundo de la psicolog铆a, y la verdad es que no encontraba por la red nada 煤til sobre como insertar Python en Java..
Soy Ingeniero desarrollador criado en la cultura Java, aunque conozco C,C++,C#. Y ahora estoy trabajando con Python, y la verdad es que me gusta bastante este lenguaje. muy cercano al C por la sequencialidad y muy parecido a Java en la orientacion a objetos..
En fin, MUCHISIMAS GRACIAS!!
Un saludo enorme desde el Sur de Espa帽a, donde fumamos al sol ;)