Mejores IDEs para Python
29 de Noviembre del 2016
Hola a todos, hoy os hablaré de las diferentes opciones que tenemos a la hora de desarrollar con Python, es decir, haré un pequeño repaso a diferentes IDEs disponibles para este lenguaje.
Conceptos básicos
Primero de todo debemos conocer qué es un IDE y qué es Python y aunque supongo que ya lo conocéis no viene mal un pequeño repaso para despistados.
IDE (Entorno de Desarrollo Integrado)
También conocido por Entorno de Desarrollo Interactivo o del inglés Integrated Development Environment es una única aplicación diseñada para mejorar nuestra productividad proporcionándonos facilidades a la hora de desarrollar.
Los IDEs están compuestos principalmente por:
- Editor de código fuente.
- Herramientas de autocompletado.
- Depurador.
- Algunos además pueden incluir compilador y/o intérprete.
Python
Lenguaje de programación interpretado que tiene por objetivo la legibilidad del código mediante una sintaxis clara y simple. Esta filosofía fue descrita por el desarrollador Tim Peters en:
- Bello es mejor que feo.
- Explícito es mejor que implícito.
- Simple es mejor que complejo.
- Complejo es mejor que complicado.
- Plano es mejor que anidado.
- Disperso es mejor que denso.
- La legibilidad cuenta.
- Los casos especiales no son tan especiales como para quebrantar las reglas.
- Lo práctico gana a lo puro.
- Los errores nunca deberían dejarse pasar silenciosamente.
- A menos que hayan sido silenciados explícitamente.
- Frente a la ambigüedad, rechaza la tentación de adivinar.
- Debería haber una -y preferiblemente sólo una- manera obvia de hacerlo.
- Aunque esa manera puede no ser obvia al principio a menos que usted sea holandés.
- Ahora es mejor que nunca.
- Aunque nunca es a menudo mejor que ya mismo.
- Si la implementación es difícil de explicar, es una mala idea.
- Si la implementación es fácil de explicar, puede que sea una buena idea.
- Los espacios de nombres (namespaces) son una gran idea ¡Hagamos más de esas cosas!
Este lenguaje es multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional.
Diferentes opciones
Ahora que ya tenemos claro estos conceptos definiré las mejores opciones, desde mi punto de vista claro está.
Atom y Sublime Text
Estas dos aplicaciones pese a no ser IDEs, son editores de texto, mediante sus correspondientes plugins (Atom, Sublime Text) serás capaz de desarrollar en Python y se merecen aparecer en este post ya que son muy utilizados por la comunidad. Además de los plugins os dejo un link a sus respectivas páginas web Atom y Sublime Text.
PyCharm
Este IDE desarrollado por JetBrains (la misma compañia detrás del potente IDE Android Studio) conocida por ofrecer una solución muy completa para los lenguajes de programación más populares.
Entre sus características principales encontramos:
- Integración con frameworks como Django, Flask, Pyramid o Web2Py.
- Autocompletado.
- Resaltador de sintaxis.
- Herramienta de análisis.
- Refactorización.
- Depurador avanzado de Python y JavaScript.
- Compatibilidad con herramientas y lenguajes de programación para desarrolladores en Python como SQLAlchemy (ORM), Google App Engine o Cython.
- Sistema de control de versiones como Git, CVS y Mercurial.
Eclipse (PyDev)
Para el conocido IDE Eclipse tenemos el plugin PyDev con el cual seremos capaces de desarrollar en Python.
Nombrando alguna de sus características resaltaré:
- Autocompletado de código
- Debugger
- Integración con Django (framework de desarrollo web)
- Consola interactiva.
Ninja-IDE
Con su nombre proveniente de las siglas Ninja-IDE Is Not Just Another IDE tenemos un IDE gratuito diseñado especialmente para desarrollar en Python.
Sus características a destacar son:
- IDE muy ligero.
- Editor de texto potente.
- Posibilidad de usar una Consola Python desde el mismo IDE
- Permite el manejo de Proyectos en el IDE.
- Extensible a través de la incorporación de Plugins.
- Autocompletado.
Como siempre para cualquier duda o corrección no dudes en escribir a mi correo iam@jmoral.es o a mi Twitter @owniz.
Un saludo. ツ