Universitat Oberta de Catalunya

Tres IDEs para programar: Processing, Eclipse y Visual Studio

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:

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/
By Stiegenaufgang – Own work, CC0
https://commons.wikimedia.org/w/
index.php?curid=32776797

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 JavaScripttutoriales 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/
By Amr Eladawy – Own work, EPL
https://commons.wikimedia.org/w/
index.php?curid=41280177

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.

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/
By Source (WP:NFCC#4), Fair use
https://en.wikipedia.org/w/
index.php?curid=44331177

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::

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!

Acerca del autor

Lecturer in Digital Media en el departamento de Media Arts de Royal Holloway, University of London. Licenciado en Filosofía por la Universitat Autònoma de Barcelona, Máster en Telecomunicaciones Interactivas por la New York University (ITP; Tisch School of the Arts), Máster Oficial en Sistemas y Media Cognitivos Interactivos por la Universitat Pompeu Fabra y Doctor en Comunicación Social por la Universitat Pompeu Fabra. De 2006 a 2016 trabajó en el Departamento de Comunicación de la Universitat Pompeu Fabra, haciendo docéncia en el Grado en Comunicación Audiovisual, Máster de Artes Digitales, Máster en Vídeo Digital – del cual fue director -, la Escuela Superior Politécnica y la escuela de diseño ELISAVA. Ha impartido también docéncia en la Universitat de Vic y en la Universitat Oberta de Catalunya, así como en la Universidad San Francisco de Quito (Equador). Ha realizado varios proyectos de instalaciones interactivas, performance y vídeo, que ha presentado en Nueva York y Barcelona, además de diversos talleres y conferéncias. Su investigación se centra en el campo del arte digital y del documental interactivo.

Deja un comentario