Entorno de desarrollo

Un entorno de desarrollo integrado IDE, es un entorno de programación que ha sido empaquetado como un programa de aplicación, es decir, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica (GUI).

Los IDE proveen un marco de trabajo amigable para la mayoría de los lenguajes de programación tales como C++, PHP, Python, Java, C#, Delphi, Visual Basic, etc. En algunos lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecución, en donde se permite utilizar el lenguaje de programación en forma interactiva, sin necesidad de trabajo orientado a archivos de texto.

Algunos ejemplos de entornos integrados de desarrollo (IDE) son los siguientes:

* Eclipse
* NetBeans
* IntelliJ IDEA
* JBuilder de Borland
* JDeveloper de Oracle
* KDevelop
* Anjunta
* Clarion
* MS Visual Studio
* Visual C++

Los IDE ofrecen un marco de trabajo para la mayoría de los lenguajes de programación tales como C++, Python, Java, C#, Delphi, Visual Basic, etc. En algunos lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecución, en donde se permite utilizar el lenguaje de programación en forma interactiva, sin necesidad de trabajo orientado a archivos de texto.

Es posible que un mismo IDE pueda funcionar con varios lenguajes de programación. Este es el caso de Eclipse, al que mediante plagios se le puede añadir soporte de lenguajes adicionales.

Un IDE debe tener las siguientes características:

* Multiplataforma
* Soporte para diversos lenguajes de programación
* Integración con Sistemas de Control de Versiones
* Reconocimiento de Sintaxis
* Extensiones y Componentes para el IDE
* Integración con Framework populares
* Depurador
* Importar y Exportar proyectos
* Múltiples idiomas
* Manual de Usuarios y Ayuda

Existen diferentes versiones de los IDEs pero estos son algunos del software que utilizan IDE, estos son:

a) **Eclipse:** Software libre. Es uno de los entornos Java más utilizados a nivel profesional. El paquete básico de Eclipse se puede expandir mediante la instalación de plugins para añadir funcionalidades a medida que se vayan necesitando.

b) **NetBeans:** Software libre. Otro de los entornos Java muy utilizados, también expandible mediante plugins. Facilita bastante el diseño gráfico asociado a aplicaciones Java.

c) **BlueJ:** Software libre. Es un entorno de desarrollo dirigido al aprendizaje de Java (entorno académico) y sin uso a nivel profesional. Destaca por ser sencillo e incluir algunas funcionalidades dirigidas a que las personas que estén aprendiendo tengan mayor facilidad para comprender aspectos clave de la programación orientada a objetos.

d) **JBuilder:** Software comercial. Se pueden obtener versiones de prueba o versiones simplificadas gratuitas en la web, buscando en la sección de productos y desarrollo de aplicaciones. Permite desarrollos gráficos.

e) **JCreator:** Software comercial. Se pueden obtener versiones de prueba o versiones simplificadas gratuitas en la web. Este IDE está escrito en C++ y omite herramientas para desarrollos gráficos, lo cual lo hace más rápido y eficiente que otros IDEs.

**Ventajas de los IDEs.**

1. La curva de aprendizaje es muy baja.
2. Es más ágil y óptimo para los usuarios que no son expertos en manejo de consola.
3. Formateo de código.
4. Funciones para renombrar variables, funciones.
5. Warnings y errores de sintaxis en pantalla de algo que no va a funcionar al interpretar o compilar.
6. Poder crear proyectos para poder visualizar los archivos de manera gráfica.
7. Herramientas de refactoring como por ejemplo seria extraer una
porción de código a un método nuevo.
8. No es recomendado pero posee un navegador web interno por si queremos probar las cosas dentro de la IDE.

De acuerdo a todo esto algunos IDEs no son gratuitos por el mismo motivo que el software son utilizados para trabajos mejorados, por tal motivo en los IDEs podemos implementar líneas de código donde podamos resolver algún problema con base al compilador, este es el que nos permitirá modificar o corregir nuestros errores del programa.
Mi opinión acerca de los IDEs es que algunos de estos necesitan muchas aplicaciones para poder sacar la aplicación y en otros es muy fácil utilizarlos porque al momento de escribir las líneas de código te corrige tus problemas de la aplicación, de acuerdo a esto en mi punto de vista el IDE que se pudiera implementar sería el de JCreator y Eclipse.

Algunos entornos son compatibles con múltiples lenguajes de programación, como Eclipse o NetBeans, ambos basados en Java; o MonoDevelop, basado en C#. También puede incorporarse la funcionalidad para lenguajes alternativos mediante el uso de plugins. Por ejemplo, Eclipse y NetBeans tienen plugins para C, C++, Ada, Perl, Python, Ruby y PHP, entre otros.