Introducción: Qué son?
El acrónimo IDE significa ‘Integrated Development Environment’, es decir: Entorno Integrado de Desarrollo. Se trata de programas que nos facilitan el uso de lenguajes de programación, yendo más allá de que los editores de código fuente revisados en un post anterior. En general, incluyen el editor de texto pero añaden un compilador y un debugger (sistema de depuración de errores), entre otras características. De hecho, actualmente la línea que separa los IDEs de los editores de código puede ser muy fina, debido a las funcionalidades que se van añadiendo a estos últimos. Por ejemplo, Brackets, que aparece en todas las listas de editores de código (incluido nuestro podio del post anteriormente mencionado) y que es presentado como tal en su propia web, tiene suficientes funcionalidades para ser considerado un IDE y, de hecho, aparece también en las listas de los mismos.
De todas formas, en principio el IDE es un entorno más complejo y más potente que los editores de código y, además, suele estar más enfocado en un trabajo concreto en ciertos contextos o lenguajes. Por lo tanto, vuelve a ser cuestión de preferencias personales y tipo de trabajo que se esté realizando. Generalmente, un editor de código sirve para un trabajo con un abanico más amplio de posibilidades, en cambio, el IDE se centra más en un lenguaje concreto.
Recursos
La mejor manera de empezar a encontrar posibles IDE con los que trabajar es hacer una búsqueda, a partir de las cuales aparecerán las inevitables listas de “los mejores” en general o para algún entorno o programa en concreto.
Hay algunos IDEs que son especialmente populares entre la comunidad de creadores con código (Processing como número 1), y junto con estos, hay muchas otras herramientas generalistas, de las que escogeremos dos para completar el podio como en el post sobre editores de código: Eclipse y Visual Studio. Estos son los entornos que revisaremos en este post, esperando que el análisis de tres IDEs represente una imagen bastante amplia de las posibilidades existentes, a partir de la cual os podréis hacer una idea de cuál es la mejor opción en cada caso. Porque, de hecho, a excepción de las particularidades de Processing, todos los IDEs comparten características y se acaban diferenciando, a veces, por el detalle o la idoneidad para un proyecto en particular. El motivo de elegir un número pequeño vuelve a ser el mismo que con el post de análisis de los editores de código: como listas largas podemos encontrar un montón, optamos por hacer una pequeña selección y dedicar un poco más de tiempo a analizar los IDEs elegidos. Si estáis interesados en otros: IntelliJ IDEA, QtCreator, CodeBlocks; son algunos de ellos y podéis encontrar infinidad de listas y enlaces con muchas otras opciones como por ejemplo:
- http://www.vix.com/es/btg/tech/13220/los-mejores-ides-y-editores-para-programadores (en castellano)
- http://ourcodeworld.com/articles/read/200/top-7-best-free-web-development-ide-for-javascript-html-and-css (específicos para web)
- https://blog.profitbricks.com/top-integrated-developer-environments-ides/ (¡lista de 48!)
- http://www.hongkiat.com/blog/cloud-ide-developers/ (Cloud IDEs, esto es: IDEs que podéis utilizar vía navegador, sin necesidad de instalar nada)
El podio
A partir de aquí, nos centramos en nuestra selección del podio, que como hemos dicho está hecha pensando en nuestro contexto: la programación creativa. Hemos decidido ordenarla empezando por el más sencillo y orientado a los artistas, hasta el más profesional.
PROCESSING
- Desarrollador: The Processing Foundation
- Licencia: GPL, LGPL (software libre)
- Precio: Gratuito, pero se pueden hacer donaciones al proyecto para ayudar a mantenerlo activo.
- Primera versión : 2001
- Sistemas operativos: Mac, Linux, Windows
- Web: https://processing.org/
Processing es un entorno y lenguaje de programación iniciado en 2001 en el Massachussets Institute of Technology (MIT) por los entonces estudiantes Casey Reas y Ben Fry. Estaba inspirado en Design By Numbers, de su profesor y mentor John Maeda, y tenía la intención de ampliar su funcionalidad. Cabe decir que el experimento tuvo un éxito espectacular.
Se trata de una versión simplificada de Java (es un lenguaje de programación) pero también de un IDE, ya que aporta el entorno mismo donde desarrollar este lenguaje. Y sin duda, una de las grandes virtudes de Processing es su simplicidad: bajar, descomprimir… y ¡ya podemos programar! Ni plugins, ni instalaciones complejas… nada de nada. Una maravilla si quiere ahorrar todo el trabajo extra que conllevan los IDEs que describiremos a continuación.
Processing llama a sus programas sketch (esbozo), porque inicialmente se pensó como entorno para hacer pequeños bocetos algorítmicos para pasar después a entornos más potentes. Pero el entorno fue creciendo tanto que pronto se convirtió en una herramienta que tiene mucho más potencial que quedarse en un generador de bocetos. Y salvo tareas muy concretas o particularmente intensas en cuanto a necesidades computacionales, puede hacer casi de todo, como se puede ver haciendo búsquedas o yendo a la sección ‘Exhibition’ de su página web.
De Processing se habla ampliamente en el blog del Laboratorio de Programación Creativa del Grado Multimedia de la UOC, por lo que os dejamos aquí estos posts donde podréis encontrar: información sobre la última versión, la versión JavaScript, tutoriales de la mano del gran Shiffman, una magnífica web para encontrar ejemplos de código en línea y una bibliografía. También en Mosaic hemos hablado varias veces de este entorno, véase una introducción a Processing entre otros ejemplos.”
Plugins/extensiones
Las extensiones de Processing son las librerías, que se instalan vía menú con el programa mismo. Hay muchísimas, y se dividen en dos categorías principales: Core y Contributed. Las primeras son un pequeño número de librerías mantenidas por Processing Foundation, y que siempre están al día (p.ej. las de sonido y vídeo). El resto van al ritmo que pueden los desarrolladores, y puede ocurrir que una nueva versión de Processing convierta otras en obsoletas, al menos durante un tiempo. Por lo tanto, siempre hay que estar atentos y probarlas antes de decidir utilizarlas en un proyecto.
Las librerías de sonido y vídeo son básicas, y recomendamos usarlas. Es importante tener en cuenta que la de sonido es muy nueva, y durante años los usuarios de Processing han utilizado Minim, por lo que encontraréis muchísimos ejemplos y tutoriales en línea que a la hora de manejar sonido usan esta. Otra librería muy útil y bastante sencilla es la de OSC, que permite comunicar Processing con otros programas, como Max / Msp o Pure Data, Open Frameworks, etc. Y finalmente, la librería SimpleOpenNii es un buen recurso para conectar Processing con Kinect.
Sin embargo, os recomendamos ver la lista completa en la página de Processing y probar, según con qué estéis trabajando, las que os puedan ir mejor.
Pros
- Es muy sencillo, en el buen sentido de la palabra.
- Es código puro y duro. Por lo tanto, aprendiendo Processing no se está aprendiendo un lenguaje sui generis, sino a programar de verdad, con la sintaxis de Java.
- Hay una inmensa comunidad que le da apoyo, y no ha parado de crecer desde que se creó.
- Dan Shiffman. Tener a Shifmann en tu equipo es como tener a un Messi. Tienes medio trabajo hecho. Entre otras muchas cosas, crea unos materiales didácticos insuperables.
Contras
- Su bucle continuo, y su manera de funcionar en general, ponen un poco nerviosos a los programadores hardcore.
- Es Java simplificado y, por tanto, es Java.
- Si deseáis hacer gráficos muy potentes o visión por ordenador compleja, os encontraréis con algunas limitaciones.
Conclusión
Sin duda, Processing es una gran opción para aprender a programar, y para seguir programando cuando ya habéis aprendido. Si lo que os interesa es hacer código, obtener resultados, y lo que necesitáis hacer lo podéis hacer con Processing, ¿por qué no utilizarlo?
Recursos externos
Encontraréis muchísimos, en parte porque es una plataforma muy utilizada en el contexto educativo. Aquí hacemos sólo una selección gourmet:
- La página del proyecto es el primer gran recurso: Para bajar el programa, ver la documentación, encontrar ejemplos, tutoriales, etc.
- La página del gran Dan Shiffman. Todo, todo lo que necesitáis, lo hace él. Y lo hace muy bien.
- Y si queréis algo en castellano, aquí está mi tutorial.
- OpenProcessing: Este magnífico recurso acaba de recibir un lavado de cara y se ha actualizado, justo cuando muchos empezábamos a vernos forzados a abandonarlo. Aquí encontraréis cientos de ejemplos con el código fuente. Vale la pena pasear por este recurso y descubrir qué podéis hacer con Processing.
ECLIPSE
- Desarrollador: Eclipse Foundation
- Licencia: Eclipse Public Licence (software libre)
- Primera versión: Noviembre, 2001
- Sistemas operativos: Mac, Linux, Windows
- Web: http://www.eclipse.org/
Este IDE está pensado para trabajar con Java y es una gran opción si deseáis trabajar con este lenguaje de programación, aunque también se pueden añadir otros vía plugins, como C++, JavaScript, Python o PHP entre otros.
Eclipse es un software veterano, y como tal ha ido afinando mucho su funcionalidad. Siendo software libre, es una opción muy buena para los que desea ir más allá de los límites que impone un entorno como Processing. Os aportará todo lo que aportan los IDEs más completos: autocompletar código, acceso muy eficiente a los archivos del proyecto, facilidad para probar el código, corrección de sintaxis, etc.
Uno de sus puntos fuertes, además de una comunidad de usuarios muy extensa, es el gran número de plugins que tiene, por lo que su funcionalidad se puede ampliar cuando las necesidades específicas del proyecto lo soliciten. Seguramente el punto más débil es que está lejos de ser un entorno donde es sencillo iniciarse, y esto hace que el arranque para aquellos usuarios menos experimentados pueda resultar un poco duro.
Plugins/extensiones
En la web de Eclipse llaman ‘solutions’ a las extensiones de las que dispone la plataforma, y listan hasta… ¡17661! (Hasta el momento de redactar este texto.) Y, cómo no, también encontraréis montones de listas de, por ejemplo, los 7 mejores o los 144 mejores.
Aquí dependerá mucho de vuestras necesidades específicas, o del proyecto en el que os integráis, ya que uno de los dolores de cabeza que a menudo giran en torno a un proyecto con Eclipse es que todo el mundo trabaje con la misma versión del software y los mismos plugins instalados para que el trabajo en equipo funcione sin problemas.
Sea como sea, tal como os podéis imaginar, con semejante cantidad de plugins, los hay para todos los gustos. Desde cambio de aspecto de la interfaz de Eclipse, o añadir nuevos lenguajes de programación hasta los más específicos dependiendo de vuestros objetivos.
Pros
- Una plataforma muy versátil, con muchísimas extensiones.
- Un proyecto muy consolidado, y por tanto con un ecosistema importante alrededor.
Contras
- La curva de aprendizaje para usuarios nuevos es bastante dura.
- No tiene la interfaz de usuario más user-friendly de la historia.
- Le están saliendo competidores que solventan estos dos problemas.
Conclusión
Eclipse es un gran recurso para programar con Java (y otros lenguajes) cuando Processing se os queda pequeño, o queréis haceros con una herramienta mucho más profesional (mucho más usada en entornos profesionales, y que os hará quedar bien ante un programador hardcore que busca colaboradores). Es una herramienta excelente si lo que buscáis es versatilidad, especialmente si podéis dedicar el tiempo necesario para entrar a fondo en él.
Recursos externos
De entre lo mucho que encontraréis escribiendo Eclipse en Google, os hacemos una pequeña selección. Tened cuidado con las búsquedas, porque, como ocurre con los programas más veteranos, os podéis encontrar con que vais a parar a una explicación de cómo funcionaba una versión anterior, muy antigua comparada con la actual, así que debéis mirar las fechas y las versiones antes de empezar una lectura profunda sobre el post.
- El ‘getting started’ de Eclipse
- …o la página para los acabados de atterrizar.
- Un tutorial para no iniciados en Eclipse.
- Aquí otro en forma de curso.
- Y si queréis jugar con la transición Processing-Eclipse: esto.
VISUAL STUDIO
- Desarrollador: Microsoft
- Licencia: Freemium
- Precio: Las versiones Visual Studio Community y Visual Studio Code son gratuitas, mientras que las Profesional y Enterprise son de pago. Los precios varían según el tipo de licencia (https://www.visualstudio.com/vs/pricing/).
- Primera versión: Febrero, 1997
- Sistemas operativos: Windows; también Mac y Linux para la versión Code.
- Web: https://www.visualstudio.com/
Visual Studio (AKA Microsof Visual Studio) es el gran veterano de los IDEs. Iniciado cuando Microsoft se estaba haciendo más fuerte, ha sido y es un programa de referencia en este campo, y se ha sabido adaptar a los tiempos (y a la competencia) haciendo “cosas tan poco Microsoft” como versiones libres y open source o versiones para Mac y Linux.
Como todo IDE, tiene un gran número de extensiones, y una buena comunicación entre usuarios, aunque al ser un software propietario no está rodeado del mismo tipo de comunidad creadora de recursos libres, sino que el peso del soporte lo lleva el empresa responsable del software. Y entre lo que ya lleva y las extensiones, os puede servir para trabajar virtualmente en cualquier lenguaje de programación.
Como se puede suponer, las versiones más completas son las de pago. (e.g. Visual Studio Code es de hecho más bien un editor de código que un IDE propiamente). Sea como sea, es una buena opción si deseáis un entorno totalmente pro. En definitiva, Visual Studio define perfectamente lo qué es un IDE, así que todo lo dicho genéricamente de los IDEs se puede aplicar a este caso.
Plugins/Extensiones
Visual Studio tiene, como es de esperar para un proyecto de estas dimensiones, un gran número de plugins y extensiones que podéis encontrar aquí. Como en el caso de Eclipse, hay muchísimos y para todos los gustos, por lo que de lo que realmente se trata es de encontrar los adecuados para cada proyecto (teniendo en cuenta la versión del IDE con la que se está trabajando).
También encontraréis muchas listas de best y must have (p.ej. https://blog.rendle.io/my-essential-visual-studio-extensions/ o http://dipendrashekhawat.com/10-visual-studio-extensiones-you-must-have/) con plugins que van desde el cambio de aspecto de la interfaz al nivel de mayor detalle de especialización, pasando por el trabajo con web o la conexión con GitHub.
Pros
- Es un gran veterano, y el entorno de referencia en muchos contextos.
- Tiene alrededor un importante ecosistema de extensiones.
- Tiene a Microsoft detrás, y por tanto, expectativas de seguir estando en primera línea.
- Hay bastantes ejemplos y versiones en castellano, si el inglés no es vuestro punto fuerte.
Contras
- Es software propietario y caro en las versiones más potentes.
Conclusión
Vuelve a ser cuestión de gustos, pero a grandes rasgos, si deseáis ir más allá de Eclipse o deseáis centraros mucho en C++ y desarrollar apps profesionales, esta puede ser una muy buena opción.
Recursos externos
Como con Eclipse, hay que tener cuidado con las versiones y los años antes de sumergirse en un tutorial. Además, al ser un entorno que permite trabajar en prácticamente todos los lenguajes, más que tutoriales del programa en sí, lo que encontraréis normalmente son tutoriales específicos para lenguajes de programación concretos. Además, tened en cuenta que, al ser de Microsoft y de pago, no hay el mismo entusiasmo, por parte de los usuarios, de crear recursos gratuitos para hacerse con el control del programa, como ocurre con los otros ejemplos de software libre.
Sea como fuere, para que os empecéis a familiarizar, os proponemos::
- Get Started (de Microsoft).
- Unos cuantos ejemplos de tutoriales.
- Y aquí, otros tutoriales de Microsoft.
Comentarios finales
Como ocurrió con el post de los editores de código, no hay una solución mágica o un IDE mejor que todos los demás. De entre los tres que hemos analizado, depende mucho de si deseáis trabajar en un contexto de arte y diseño (Processing), o en un entorno más profesionalizado, de programador hardcore, para entendernos. En este caso, si deseáis moveros en un entorno open source, Eclipse puede ser vuestro mejor aliado. Si esto os da igual y/o deseáis trabajar con lenguajes poco idóneos para Eclipse, Visual Studio puede ser la opción, siempre y cuando no os importe comprar la licencia o trabajar con las versiones más básicas. Y evidentemente, hay muchas otras opciones a vuestro alcance. Lo interesante es investigar sobre el tema e informarse más a fondo respecto al proyecto que estáis pensando llevar a cabo para así elegir correctamente vuestro IDE.
Happy coding!
Cita recomendada: SOLER-ADILLON, Joan. Tres IDEs para programar: Processing, Eclipse y Visual Studio. Mosaic [en línea], mayo 2017, no. 149. ISSN: 1696-3296. DOI: https://doi.org/10.7238/m.n149.1821.
He utilizado Eclipse para el desarrollo en Java, pero para el desarrollo web recomiendo PHPStorm.
Sussan.
Hola, lo he usado durante un tiempo y es sencillo, quiero hacer algo mas complejo ya que ahora se programacion de mas nivel, me podrias recomendar cual seria el siguiente paso?
Gracias
What’s up to every single one, it’s in fact a nice
for me to go to see this web site, it contains useful Information.
Generally, I don’t learn article on blogs, but I would like to say that this write-up very pressured me to check out and do so! Your writing style has been surprised me. Thanks, quite a great post.
Visual Studio es mi elección de IDE. Incluso lo estoy usando en mi proveedor de hospedaje web php (https://www.cloudways.com/es/alojamiento-php.php ), a pesar de que tienen su propio IDE predeterminado.
I also use Visual Studio, Thanks for sharing this
Visual Studio is an awesome software!!!
Cool article…thx for sharing
In 1990 visual studio rule the world with the ease of day to day application.
I just want you to know that I’m deeply grateful for your amazing post! Thanks for the kindness in sharing your expertise to us.
Thanks for the post
This is so helping article and i like it Thank you.
Visual is a good software, I’m using it.
I just want you to know that I’m deeply grateful for your amazing post! Thanks for the kindness in sharing your expertise with us.
Thanks for your post
It was really good work. I really like your thoughts. I personally appreciates for your work. your article is very impressive and helpful for us.
This is such a great stuff that you are providing and you give it away for free. I love seeing blog that understand the value of providing a quality resource for free.
Joan Sole You are the best, good job keep it up.
Thanks for your post, I got a lot information!
thanks good post, nice article
I am so glad to talk about this content. Your writing skills are incredible. It’s pretty good.Please don’t stop to share this type of standard content.
This is so helping article and i like it Thank you.
Thanks for sharing
Thanks for sharing
Thanks you…
Thanks for the kindness in sharing your expertise with us.