Articulo de referencia

entorno de desarrollo integrado

Un entorno de desarrollo integrado que se ejecuta en un sistema operativo de escritorio. Un entorno de desarrollo integrado ( IDE ) es un software que proporciona un conjunto re...

Un entorno de desarrollo integrado que se ejecuta en un sistema operativo de escritorio.

Un entorno de desarrollo integrado ( IDE ) es un software que proporciona un conjunto relativamente completo de funciones para el desarrollo de software . Un IDE está diseñado para mejorar la productividad al proporcionar funciones de desarrollo con una experiencia de usuario consistente , en lugar de utilizar herramientas separadas como vi , GDB , GCC y make .

Como mínimo, un IDE suele admitir la edición de código fuente , el control de versiones , la automatización de compilaciones y la depuración . Un IDE puede incluir soporte para la integración de herramientas como un compilador , un entorno de ejecución o un sistema de control de versiones , aunque a veces estas herramientas vienen incluidas con el IDE. Algunos IDE ofrecen soporte especial para la creación de interfaces gráficas de usuario (GUI). Muchos IDE admiten la programación orientada a objetos mediante funciones como el explorador de clases y el explorador de objetos . Normalmente, un IDE ofrece soporte específico para uno o más lenguajes de programación , lo que permite funciones adaptadas a cada lenguaje. Algunos IDE pueden ampliarse para admitir lenguajes adicionales.

Aunque algunos IDE se implementan como una aplicación , otros se implementan como una biblioteca , a menudo diseñada para una plataforma de software particular . Por ejemplo, aunque Eclipse es una plataforma para la que existen muchos complementos que brindan una experiencia de IDE , la aplicación principal no lo hace. [ a ]

Si bien los IDE modernos se basan en interfaces gráficas de usuario (GUI), existían IDE antes de la disponibilidad de sistemas de ventanas como Windows y el Sistema X Window . Por ejemplo, Turbo Pascal para MS-DOS ofrece una experiencia de usuario en pantalla completa basada en texto.

Historia

Los IDE se hicieron posibles inicialmente al desarrollar a través de una consola o terminal . Los primeros sistemas no podían soportarlos, ya que los programas se enviaban a un compilador o ensamblador mediante tarjetas perforadas , cinta de papel , etc. Dartmouth BASIC fue el primer lenguaje creado con un IDE (y también el primero diseñado para usarse sentado frente a una consola o terminal). [ 1 ] Su IDE (parte del Sistema de Tiempo Compartido de Dartmouth ) se basaba en comandos y, por lo tanto, no se parecía mucho a los IDE gráficos con menús que se popularizaron tras la llegada de la interfaz gráfica de usuario . Sin embargo, integraba edición, gestión de archivos, compilación, depuración y ejecución de una manera coherente con un IDE moderno.

Maestro I , un producto de Softlab Munich, fue el primer entorno de desarrollo integrado del mundo [ 2 ] para software. Maestro I fue instalado por 22 000 programadores en todo el mundo. Hasta 1989, existían 6000 instalaciones en la República Federal de Alemania . Maestro fue, sin duda, el líder mundial en este campo durante las décadas de 1970 y 1980. Actualmente, uno de los últimos Maestro I se encuentra en el Museo de Tecnología de la Información de Arlington, Texas.

Uno de los primeros IDE con un concepto de complementos fue Softbench . En 1995, Computerwoche comentó que el uso de un IDE no era bien recibido por los desarrolladores, ya que limitaría su creatividad.

A fecha de agosto de 2023 , los IDE más buscados en la Búsqueda de Google fueron Visual Studio , Visual Studio Code y Eclipse . [ 3 ]

Características

Las características que se suelen encontrar en un IDE incluyen:

Soporte de idiomas
Algunos IDE admiten varios lenguajes, como GNU Emacs , IntelliJ IDEA , Eclipse , MyEclipse , NetBeans , MonoDevelop , JDoodle o PlayCode. El soporte para lenguajes alternativos a menudo se proporciona mediante complementos , lo que permite instalarlos en el mismo IDE al mismo tiempo. Por ejemplo, Flycheck es una extensión moderna de comprobación de sintaxis en tiempo real para GNU Emacs 24 con soporte para 39 lenguajes. [ 4 ] Otro ejemplo es JDoodle, un IDE en línea basado en la nube que admite 88 lenguajes. [ 5 ] Eclipse y Netbeans tienen complementos para C / C++ , Ada , GNAT (por ejemplo, AdaGIDE), Perl , Python , Ruby y PHP , que se seleccionan automáticamente según la extensión del archivo, el entorno o la configuración del proyecto.
Resaltado de sintaxis
La función de edición de código fuente generalmente incluye resaltado de sintaxis, que puede mostrar tanto las estructuras, las palabras clave del lenguaje como los errores de sintaxis con colores y efectos de fuente visualmente distintos. [ 6 ]
Verificación continua de la sintaxis
La sintaxis del código se puede validar continuamente mientras se edita, y se pueden proporcionar errores cuando se introduce uno, en lugar de que el desarrollador tenga que esperar hasta que se ejecute una compilación.
Búsqueda de código
El IDE puede admitir la búsqueda de declaraciones de clases y funciones, usos, lectura/escritura de variables y campos, etc. Los IDE pueden utilizar diferentes tipos de interfaz de usuario para la búsqueda de código, por ejemplo, widgets basados ​​en formularios [ 7 ] e interfaces basadas en lenguaje natural. El IDE también puede admitir la búsqueda de la implementación de una declaración. [ 8 ]
Autocompletado de código
Refactorización [ 6 ]
Control de versiones [ 6 ]
Configuración simplificada
Un objetivo típico de un IDE es reducir la configuración necesaria para integrar múltiples herramientas de desarrollo. Un IDE puede proporcionar una configuración coherente que reduce el tiempo de configuración y, por lo tanto, aumenta la productividad, especialmente en los casos en que aprender a usar el IDE es más rápido que integrar y aprender a usar varias herramientas por separado.
Depuración
El soporte para la depuración generalmente incluye establecer puntos de interrupción en el editor, representación visual de los pasos, etc. [ 9 ]
Programación visual
Visual Basic permite a los usuarios diseñar una aplicación moviendo bloques de programación o nodos de código para crear diagramas de flujo o diagramas de estructura que luego se compilan o interpretan. Estos diagramas de flujo suelen basarse en el Lenguaje Unificado de Modelado (UML) .
Esta interfaz se ha popularizado con el sistema Lego Mindstorms y está siendo explorada activamente por varias empresas que desean capitalizar el poder de los navegadores personalizados como los que se encuentran en Mozilla . KTechlab admite flowcode y es un IDE y simulador de código abierto popular para desarrollar software para microcontroladores. La programación visual también es responsable del poder de la programación distribuida (cf. LabVIEW y el software EICASLAB). Un sistema de programación visual temprano, Max , fue modelado a partir del diseño de un sintetizador analógico y se ha utilizado para desarrollar software de interpretación musical en tiempo real desde la década de 1980. Otro ejemplo temprano fue Prograph , un sistema basado en flujo de datos desarrollado originalmente para Macintosh . El entorno de programación gráfica " GRAPE " se utiliza para programar kits de robots qfix .
Este enfoque también se utiliza en software especializado como Openlab, donde los usuarios finales desean la flexibilidad de un lenguaje de programación completo, sin la curva de aprendizaje tradicional asociada al mismo.

Usar

Durante mucho tiempo, y aún en cierta medida hoy en día, los IDE se utilizan con mayor frecuencia en entornos Windows que en entornos tipo Unix . Una excepción notable son las plataformas Apple. Los IDE han sido populares en Mac OS clásico y macOS , desde los entornos Macintosh Programmer's Workshop , Turbo Pascal , THINK Pascal y THINK C de mediados de la década de 1980. Actualmente, los programadores de macOS pueden elegir entre IDE nativos como Xcode y herramientas de terceros como Eclipse , Netbeans y ActiveState Komodo .

Vim con autocompletado y análisis de código integrados mediante un complemento externo.
GNU Emacs , un editor extensible que se usa comúnmente como IDE en sistemas tipo Unix.

En lugar de usar un IDE, el desarrollo de software para un entorno tipo Unix a menudo implica el uso de varias herramientas de línea de comandos [ 10 ] [ 11 ] como la cadena de herramientas GNU (incluyendo GCC , GDB y make ) [ 12 ] y un editor de texto como Emacs [ 13 ] [ 14 ] [ 15 ] o Vim . Algunos programadores prefieren administrar makefiles (y archivos de compilación similares) en lugar de la experiencia de configuración de compilación que presenta un IDE. Por ejemplo, la mayoría de los colaboradores de la base de datos PostgreSQL usan make y GDB directamente. [ 16 ] Incluso cuando se compila PostgreSQL para Windows a través de Visual C++ , se usan scripts de Perl como reemplazo de make en lugar de depender de cualquier característica del IDE. [ 17 ] Algunos IDE de Linux como Geany intentan proporcionar una interfaz gráfica para las operaciones de compilación tradicionales. Data Display Debugger es una interfaz gráfica para muchas herramientas de depuración basadas en texto .

En línea

Un entorno de desarrollo integrado en línea , también conocido como IDE web o IDE en la nube, es un IDE basado en navegador que permite el desarrollo de software o desarrollo web. Se puede acceder a un IDE en línea desde un navegador web, lo que proporciona un entorno de trabajo portátil. Un IDE en línea no suele incluir todas las funciones de un IDE tradicional o de escritorio, aunque normalmente sí incluye las funciones básicas, como el resaltado de sintaxis.

Un entorno de desarrollo integrado (IDE) para dispositivos móviles es una aplicación de software que proporciona un conjunto completo de herramientas para el desarrollo de software en plataformas móviles. A diferencia de los IDE tradicionales para ordenadores de escritorio, los IDE para móviles están diseñados para ejecutarse en smartphones y tabletas, lo que permite a los desarrolladores escribir, depurar e implementar código directamente desde sus dispositivos móviles.

Entorno de desarrollo agencial

A medida que aumenta la asistencia de IA en los IDE, ha surgido el concepto de entorno de desarrollo agéntico (ADE). Los agentes no solo sugieren autocompletado de código, sino que también lo explican, analizan errores, proponen soluciones, las planifican y las implementan. Algunos ADE son complementos para IDE convencionales, como GitHub Copilot, Cline y Continue para Visual Studio Code, mientras que otros están profundamente integrados, como Windsurf, Cursor y Google Antigravity. Zed Editor también cuenta con IA opcional, mientras que el próximo Jetbrains Fleet Editor fue cancelado en favor de un ADE llamado Jetbrains Air, basado en él. [ 18 ]

Véase también

Notas

  1. Eclipse suele denominarse IDE, ya que originalmente, y aún hoy en día, se instala comúnmente con el complemento Java IDE. Estos complementos proporcionan entornos de desarrollo. Sin complementos habilitados, la aplicación Eclipse no ofrece una experiencia que incluya las características básicas típicas de un entorno de desarrollo integrado .

Referencias

  1. Wasserman, A. (2024). "Lecciones de un entorno pionero de ingeniería de software: principios de diseño de software a través de imágenes". IDE '24: Actas del 1er Taller ACM/IEEE sobre Entornos de Desarrollo Integrados . arXiv : 2403.08085 . Bibcode : 2024ide..conf....7W . doi : 10.1145/3643796.3648445 (inactivo el 3 de junio de 2026). S2CID 268379445 . {{cite book}}: CS1 maint: DOI inactivo desde junio de 2026 ( enlace )
  2. "Interaktives Programmieren als Systems-Schlager" de Computerwoche ( alemán )
  3. "Índice de los mejores entornos de desarrollo integrados (IDE)" . pypl.github.io . Consultado el 8 de agosto de 2023 .
  4. "Introducción - Flycheck 0.18-cvs" . Lea la documentación . Archivado del original el 10 de marzo de 2014. Consultado el 10 de marzo de 2014 .
  5. "JDoodle - Compilador y editor en línea para Java, C/C++, etc. "
  6. 1 2 3 "Curso CS350 Entornos de Desarrollo Integrados" . cs.odu.edu . Universidad Old Dominion . Consultado el 10 de octubre de 2018 .
  7. "Búsqueda de código" . Eclipse Cookbook . O'Reilly. ISBN 978-0-596-00710-2.
  8. Stolee, Kathryn T.; Elbaum, Sebastian; Dobos, Daniel (2014). "Resolviendo la búsqueda de código fuente" . ACM Transactions on Software Engineering and Methodology . 23 (3): 1– 45. doi : 10.1145/2581377 . ISSN 1049-331X . S2CID 8558710 .  
  9. "Software de programación y el IDE" . BBC Bitesize . Archivado del original el 9 de octubre de 2018. Consultado el 10 de octubre de 2018 .
  10. Rehman, Christopher Paul, Christopher R. Paul. "La plataforma de desarrollo Linux: configuración, uso y mantenimiento de un entorno de programación completo". 2002. ISBN 0-13-009115-4
  11. "UnixIsAnIde" .
  12. "Utilice Emacs con Microsoft Visual C++ ... utilice Emacs como un IDE" . Archivado del original el 4 de julio de 2013.
  13. "Emacs: el IDE de software libre | Linux Journal" . www.linuxjournal.com
  14. "El libro de cocina de Common Lisp: cómo usar Emacs como IDE de Lisp" . cl-cookbook.sourceforge.net .
  15. "Emacs como IDE de Perl" . obsidianrook.com . Archivado del original el 21 de mayo de 2016. Consultado el 11 de mayo de 2011 .
  16. "Preguntas frecuentes para desarrolladores - Wiki de PostgreSQL" . wiki.postgresql.org .
  17. "Capítulo 18. Instalación desde el código fuente en Windows" . Documentación de PostgreSQL . 29 de septiembre de 2021.
  18. "Inicio rápido | JetBrains Air" .