Comparativa de IDEs para Python

download Comparativa de IDEs para Python

of 4

Transcript of Comparativa de IDEs para Python

  • 7/31/2019 Comparativa de IDEs para Python

    1/4

    Wing IDEWing IDE [1], (Figura 1) es un medio dedesarrollo comercial centrado por completoen Python. Hay dos variantes disponibles:Wing IDE Professional que cuesta alrededorde 126 euros (180 dlares), y la edicin Perso-nal, que vale 25 euros (35 dlares). Pese a suprecio, a Wing le faltan un par de opciones deimportancia crtica (ver Tabla 1).

    Si estamos interesados, podemos bajarnosWing y usar nuestra tarjeta de crdito paraadquirir una licencia. Se pueden conseguirhasta 3 licencias de evaluacin por personadurante un perodo de prueba de 10 das.

    Sin sta, el programa funcionar slo 10minutos. Por unos 21 euros ms (30 dlares),la compaa nos enviar un CD, pero slo enEE.UU.

    Lo bueno de Wing IDE es su clara vistageneral del medio de programacin. En laversin profesional, el Navegador de Fuentes(Source Browser) lista funciones, clases ymtodos. Si bajamos al nivel de las variablesindividuales, podemos maximizar entradas ypulsar sobre ellas para aadirlas al cdigo.

    El Gestor de Proyectos (Project Manage-ment) soporta desarrollo de software envarios archivos, lo que da al programador unavisin global de los archivos en el horizontedel proyecto, definiendo propiedades especfi-cas, como un interpretador alternativo dePython o una ruta extendida. La versin Pro-fesional de Wing IDE, en particular, facilita losproyectos colaborativos. Puede manejar lasincronizacin de proyectos va CVS, Subver-sion o Perforce automticamente; Wing seencargar, incluso, de detalles como qucarcter de control emplear para los saltos delnea: un dolor de cabeza tpico en coopera-cin multiplataforma.

    La versin Personal, comparada con la Pro-fesional, carece de la habilidad de definirmacros de teclado y otras funciones dedebug. Adems, slo el editor de la versin

    Qu podemos hacer con un medio dedesarrollo integrado (IDE) que no sepueda hacer tambin con un editor de

    texto? Vi, Emacs, Gedit, Kate; todos ofrecenopciones como el subrayado de sintaxis yarchivado de cdigo para todos los lenguajesde programacin principales.

    Un buen IDE, por otro lado, aade capaci-dades como depurado y gestin de proyectos.

    Los ParticipantesEste artculo examina algunos de los IDEs dePython ms importantes. Nos centraremos enaplicaciones diseadas especficamente para

    el medio Python. Otras opciones incluyenherramientas como Komodo y Eclipse, quesoportan Python adems de otros lenguajesde programacin.

    EVALUACIN IDEs Python

    34 Nmero 32 W W W. L I N U X - M A G A Z I N E . E S

    Comparativa de IDEs para Python

    EN OBRAS

    Existe un buen nmero de aplicaciones que sirven para programar en

    Python, pero, como en todo, algunas son mejores que otras. Hemos

    probado los IDEs ms completos para ayudarte a elegir la herramienta

    ms adecuada. POR CARSTEN SCHNOBER .

    C o

    d r u

    t P o p a ,

    F o

    t o l i a

  • 7/31/2019 Comparativa de IDEs para Python

    2/4

    ms cara de Wing IDE permite archivado decdigo.

    Dado que a la versin Personal le faltandemasiadas opciones tiles, es ms comouna versin de prueba, y aunque el precio

    es menor que el de la versin Profesional,la primera no tiene casi nada que ofrecercomparada con las alternativas gratuitas.

    Boa Constructor

    Boa Constructor [2], el medio de desarrollocon licencia GPL (Figura 2), confa doble-mente en la caja de herramientas GUIWxwidgets [3]. Por una parte, el interfaz deusuario de Boa est programado conWxwidgets; por otra, Boa Constructoremplea este marco GUI para soportar usua-rios en su entorno grfico de trabajo.

    Por desgracia, este medio viene a confir-mar algunos de los rumores sobre las herra-mientas Wxwidgets: el gastado y anticuadointerfaz acaba por llevar al usuario a pre-guntarse adnde ir a continuacin. Un grannmero de iconos sin etiquetar, con undiseo nada intuitivo y demasiado pareci-dos, se esconden en mens innumerables,lo que fuerza al usuario a pasearse con elratn hasta encontrar qu hacer.

    El interfaz sigue lo que se conoce comoMultiple Top-Level Windows Interface

    Design (MTI para abreviar; en espaol,Diseo de Interfaz de Ventanas Mltiples).En resumen: no hay una ventana principal,sino que los componentes del programarequieren espacio en el escritorio, directa-mente, a partir del gestor de ventanas, sincoordinar sus peticiones. Una vez ms, estecomportamiento es muy contrario a los

    estndares de usabilidad actuales, porquefuerza al usuario a buscar la ventanacorrecta una y otra vez en escritorios aba-rrotados.

    Una vez que te has acostumbrado a losinconvenientes de usabilidad, Boa Cons-tructor te recompensa con un IDE muyrobusto. El editor organiza tu cdigo fuentePython, aunque slo le falta el archivado decdigo. Completar cdigo es posible pul-sando (Ctrl + Espacio), y esto incluye fun-ciones y clases diseadas por el usuario.

    Si realmente queremos disear aplicacio-nes Wxwidgets con Python, Boa ConstructorFrame Designer ser de gran ayuda. Aunquellevar un tiempo cogerle el truco a tanto

    icono, su tutorial, bien estructurado, acortarla curva de aprendizaje.El debugger tiene todas las opciones bsi-

    cas que un programador necesitara parabuscar bugs, pero de nuevo con la restriccinde tener que buscar el icono correcto paracontrolarlo, lo que puede ser una experienciaque acabe con los nervios de cualquiera.

    IDEs Python EVALUACIN

    35Nmero 32W W W. L I N U X - M A G A Z I N E . E S

    Wing IDE Wing IDE Boa

    Personal 2.1.3 Professional 2.1.3 Constructor Drpython 161 Eric 3.9.1 Idle 1.1.4

    Lenguajes deprogramacin Python Python Python Python, C++, HTML Python, Ruby PythonsoportadosDesarrollo GUI - - Wxwidget - Qt -Macros - - - -Archivado decdigo - - Como plugin -Completar cdigo Como plugin -CVS - - -Subversion - - - -Licencia / precio Propietaria, 35$ Propietaria, 180 $ GPL GPL GPL GPLIdiomas Ingls, alemn Ingls, alemn Ingls Ingls Ingls, alemn, Ingls

    francs, rusoOtro sistema Windows,Mac OS X Windows, Mac OS X Windows Windows Windows, Mac OS X Windows, Mac OS Xoperativo

    Tabla 1: Comparativa de IDEs

    Figura 1: El medio de desarrollo Wing aparece en ediciones Personal y Profesional, pero carecede algunas opciones crticas.

  • 7/31/2019 Comparativa de IDEs para Python

    3/4

    El programa se pasea por la lnea quesepara a un editor de un medio de desarrollo.Si ya utilizamos algn editor para programa-cin en Python, mudarnos a Drpython slopor su navegador de cdigo difcilmentemerece la pena.

    Eric

    El trabajo de desarrollo en Eric [5] (Figura 4)se divide en dos ramas: Eric3 utiliza la ver-sin 3 del interfaz Qt, y Eric4 emplea su suce-sor. Aparte de esto, ambas versiones tienenla misma funcionalidad. En un ejemplo per-fecto de los principios del software libre, Ericcombina varios programas preexistentes paracrear un medio de desarrollo muy intuitivo.Por ejemplo, el editor integrado emplea el

    marco Scintilla [6], y Eric lanza Qt Designer[7] para disear un interfaz grfico.

    Este IDE sirve de ayuda a los programado-res de Python con su mdulo de gestin deproyectos. Permite incluso definir macros y

    lanzar Pyunit para pruebas unit. Qt Designerposibilita que un diseador cree rpidamenteinterfaces complejos; sin embargo, la exten-sin .ui que utiliza este mtodo est orien-tada a C++. Integrarla con Pyqt precisa deatencin manual, en lo que Eric no ofreceninguna ayuda.

    Si decidimos aparnoslas sin la ayuda deQt Designer, no encontraremos gran cosa enprogramacin de interfaces. Eric usa wizardspara crear un par de ventanas estndar enQt.

    Este programa ofrece el ms amplio hori-zonte de posibilidades de todos los mediosde desarrollo Python gratuitos, y tiene a lavez un interfaz de usuario bastante autoex-plicativo, lo que ms o menos disimula laescasez de documentacin. Dicho esto, Ericno es realmente una gran ayuda para losinteresados en programar con GUI. No faci-lita integrar archivos .ui de Qt Designer ennuestros programas Python. Y, como cual-quier otro IDE, si queremos programar uninterfaz Qt deberemos tener ciertos conoci-mientos previos de Qt.

    IdleEl reclamo de Idle [8] es que lo pari elmismo inventor de Python, Guido van Ros-sum, en cooperacin con otros gurs de estemismo lenguaje (Figura 5). Idle es parte dela distribucin oficial de Python. Al igual queDrypthon, ofrece principalmente un editorde texto con subrayado especfico para sinta-

    Haciendo click con el ratn podemos confi-gurar puntos clave en el editor; esto permitevisualizar valores variables en el mododebug.

    Yo no tuve ningn problema de estabili-dad; por los ltimos informes de la web,esperaba lo contrario, aunque algunos men-sajes de error abstrusos al lanzar o cerrar el

    programa me hicieron dudar.Dicho todo esto, Boa Constructor es, porsu marco de diseo, una buena opcin parael desarrollo de aplicaciones Wxwidget.Aparte de esto, ofrece un medio de desarrollohonesto pero sin ninguna opcin que puedagarantizar una mejora en el interfaz grficode usuario.

    DrpythonDrpython [4] (Figura 3) prefiere la simplici-dad antes que el horizonte de capacidades.El programa provee un simple editor consubrayado de sintaxis de Python y muestralos mdulos, clases y mtodos en el navega-dor de cdigo. Como Boa Constructor,Drpython est escrito en Wxpython, por loque ofrece soporte multiplataforma. Y noincluye ninguna herramienta especial para eldesarrollo en GUI.

    En este programa, la ayuda para buscarbugs est limitada a un simple chequeo desintaxis. Tampoco incluye completado auto-mtico de cdigo; es decir, podemos instalarun plugin que rellene este hueco. Una vezlanzado, Drphython nos ofrece elegir entre elmodo novato y el experto; sin embargo, lasdiferencias entre ambos se limitan a algunasopciones en la ventana de preferencias.

    EVALUACIN IDEs Python

    36 Nmero 32 W W W. L I N U X - M A G A Z I N E . E S

    Figura 2: El difcil interfaz de Boa Constructor requiere algn tiempo para acostumbrarse.Una buena documentacin permite una curva de aprendizaje aceptable, a pesar de la com-plejidad.

    Figura 3: Drpython ofrece a los diseadores una visin clara de su cdigo Python, pero carecede un debugger y de otras herramientas.

  • 7/31/2019 Comparativa de IDEs para Python

    4/4

    xis Python. El navegador de clases (Figura 6)provee de una vista general de las funcionesy clases en el cdigo, junto con sus mtodos.El Navegador de Ruta (Path Browser) es unaherramienta til que ofrece la posibilidad de

    navegar por los paquetes y mdulos que des-cubra en la ruta de Python.

    Idle no tiene un sistema para autocomple-tar el cdigo, aunque el editor muestra la sig-natura de una funcin conocida una vez quela has introducido.

    El debugger se encuentra an bajodesarrollo, y aparece restringido a la funcio-nalidad bsica tras lanzar el programa en unshell de Python. Por ahora, no permitesiquiera visualizar valores de variable. Laversin Windows no deja marcar puntos alusuario an, lo que convierte al debugger deeste sistema operativo en algo ms bienintil. Afortunadamente, este inconvenienteno existe en Linux, y la resolucin de proble-mas con Idle super nuestras expectativas ensu mayor parte.

    Conclusiones

    Probablemente, la culpa de que la mayorade medios de desarrollo libres y gratuitos notengan ms que la funcionalidad bsica sedebe al amor de los usuarios de Linux por loseditores de texto espartanos. La ventaja de

    los IDEs comerciales conocidos, especial-mente en el mundo Windows (y compara-dos con los simples editores de texto), residesobre todo en su capacidad para eliminarcualquier paso manual en el desarrollo GUI.

    Todos los IDEs de Python que aparecenaqu se desenvuelven bastante mal en esteaspecto, sean libres o propietarios. Boa Cons-tructor es una herramienta que debe tomarseen serio por los programadores de

    Wxpython, asumiendo a priori que puedenlidiar con los problemas de usabilidad. Si pre-fieres evitar escribir manualmente el cdigode las herramientas GUI, no te quedar msalternativa que Glade [9], Gazpacho [10]

    para GTK, o Qt Desig-ner.

    Wing IDE da unaimpresin ms posi-tiva en este campo.Sus controles sonintuitivos, y la versinProfesional soportaprogramacin colabo-rativa multiplata-forma. El precio desalida, sin embargo,est muy por encimade lo que un usuariodomstico de Linuxmedio estara intere-sado en invertir; aun-que es bastante nor-mal para uso profesio-nal. Gracias a la licen-cia de evaluacin,cualquier interesadoen Wing IDE puedehacerse su propia opi-

    nin antes de optar por cualquiera de lasvariantes comerciales. I

    IDEs Python EVALUACIN

    37Nmero 32W W W. L I N U X - M A G A Z I N E . E S

    [1] Wing IDE: http://wingware.com[2] Boa Constructor: http://

    boa-constructor.sourceforge.net

    [3] Wxwidgets: http://www.wxwidgets.org

    [4] Drpython: http://drpython.sourceforge.net

    [5] Eric: http://www.die-offenbachs.de/ eric/index.html

    [6] Scintilla: http://www.scintilla.org

    [7] Qt Designer: http://www.trolltech.com/products/qt/features/designer

    [8] Idle: http://www.python.org/idle [9] Glade: http://glade.gnome.org

    [10] Gazpacho: http://gazpacho.sicem.biz

    RECURSOS

    Figura 4: Para el diseo de interfaz, Eric slo arranca Qt Designer, diseado principalmentepensando en C++.

    Figura 5: Pese a su status como el Python IDE oficial, a Idle le fal-tan algunas de las opciones que pueden encontrarse en herramien-tas alternativas.

    Figura 6: El navegador de clases de Idleofrece una vista general clara del cdigoPython.