Articulo de referencia

Editor de código fuente

Captura de pantalla del uso de Notepad++ para editar código XML . Un editor de código fuente es un programa de edición de texto diseñado específicamente para editar el código fu...

Captura de pantalla del uso de Notepad++ para editar código XML .

Un editor de código fuente es un programa de edición de texto diseñado específicamente para editar el código fuente de programas informáticos . Incluye funcionalidades básicas como el resaltado de sintaxis y, en ocasiones, la depuración. Puede ser una aplicación independiente o estar integrado en un entorno de desarrollo integrado (IDE). [ 1 ]

Características

Los editores de código fuente cuentan con funciones diseñadas específicamente para simplificar y agilizar la escritura de código, como el resaltado de sintaxis (resaltado de errores de sintaxis), la indentación automática , el autocompletado y la coincidencia de llaves . Estos editores también pueden proporcionar una forma práctica de ejecutar un compilador , intérprete , depurador u otro programa relevante para el proceso de desarrollo de software . Si bien muchos editores de texto, como el Bloc de notas, pueden usarse para editar código fuente, si no mejoran, automatizan o facilitan la edición del código, no se consideran editores de código fuente .

Los editores de estructura son una variante de los editores de código fuente, donde en lugar de editar texto sin formato, se manipula la estructura del código, generalmente el árbol de sintaxis abstracta . En este caso, características como el resaltado de sintaxis, la validación y el formato del código se implementan de forma sencilla y eficiente a partir del árbol de sintaxis concreta o abstracta, pero la edición suele ser más rígida que la del texto libre. Los editores de estructura también requieren un amplio soporte para cada lenguaje, por lo que son más difíciles de adaptar a nuevos lenguajes que los editores de texto, donde el soporte básico solo requiere admitir el resaltado de sintaxis o la indentación. Por esta razón, los editores de estructura estrictos no son populares para la edición de código fuente, aunque algunos IDE ofrecen funcionalidades similares.

Un editor de código fuente puede comprobar la sintaxis dinámicamente mientras se introduce el código y advertir inmediatamente de los problemas de sintaxis, además de sugerir fragmentos de código para autocompletar. Algunos editores de código fuente comprimen el código fuente, convirtiendo normalmente las palabras clave comunes en tokens de un byte , eliminando los espacios en blanco innecesarios y convirtiendo los números a formato binario . Estos editores tokenizadores descomprimen posteriormente el código fuente al visualizarlo, posiblemente formateándolo con mayúsculas y espaciado uniformes. Algunos editores de código fuente realizan ambas funciones.

El Protocolo de Servidor de Lenguaje (LSP) , utilizado por primera vez en Visual Studio Code de Microsoft , permite a los editores de código fuente implementar un cliente LSP que puede leer información sintáctica sobre cualquier lenguaje con un servidor LSP. Esto permite a los editores de código fuente admitir fácilmente más lenguajes con resaltado de sintaxis, refactorización y búsqueda de referencias. [ 2 ] Muchos editores de código fuente como Neovim [ 3 ] y Brackets [ 4 ] han añadido un cliente LSP integrado, mientras que otros editores como Emacs, [ 5 ] Vim [ 6 ] y Sublime Text [ 7 ] tienen soporte para un cliente LSP a través de un complemento independiente.

Historia

En 1985, Mike Cowlishaw de IBM creó LEXX mientras estaba adscrito a Oxford University Press . LEXX utilizaba análisis sintáctico en tiempo real y resaltado de sintaxis con colores y fuentes. LPEX (Live Parsing Extensible Editor) de IBM [ 8 ] se basaba en LEXX y se ejecutaba en VM/CMS , OS/2 , OS/400 , Windows y Java [ 9 ].

Aunque el lanzamiento público inicial de vim fue en 1991, la función de resaltado de sintaxis no se introdujo hasta la versión 5.0 en 1998. [ 10 ] El 1 de noviembre de 2015, se lanzó la primera versión de NeoVim . [ 11 ]

En 2003, Don Ho lanzó Notepad++ , un editor de código fuente para Windows. La intención era crear una alternativa al editor de código fuente basado en Java, JEXT [ 12 ].

En 2015, Microsoft lanzó Visual Studio Code como una alternativa ligera y multiplataforma a su IDE Visual Studio . [ 13 ] Al año siguiente, Visual Studio Code se convirtió en el producto de Microsoft que utilizaba el Protocolo de Servidor de Lenguaje. [ 2 ] Este editor de código rápidamente ganó popularidad y se convirtió en el editor de código fuente más utilizado. [ 14 ]

Comparación con IDEs

Un editor de código fuente es un componente de un Entorno de Desarrollo Integrado (IDE). A diferencia de un editor de código fuente independiente, un IDE generalmente también incluye varias herramientas que mejoran el proceso de desarrollo de software. [ 1 ] Estas herramientas incluyen resaltado de sintaxis, sugerencias de autocompletado de código, control de versiones, formato automático, entornos de ejecución integrados, depurador y herramientas de compilación. [ 15 ]

Algunos desarrolladores prefieren los editores de código fuente independientes a los IDE cuando creen que estos últimos están sobrecargados de funciones que no necesitan. [ 16 ]

Ejemplos notables

  • Atom  – Editor de texto de Github
  • Brackets  – Editor para desarrollo web
  • Eclipse  – Entorno de desarrollo de software
  • Emacs  – Familia de editores de texto
  • Gedit  – Editor de texto para Linux
  • Kate  – Editora de texto
  • NetBeans  – Software de entorno de desarrollo integrado para el desarrollo de software
  • Notepad++  – Editor de texto y editor de código fuente para Windows
  • SlickEdit  : editor de texto e IDE multiplataforma
  • Sublime Text  – Editor de texto
  • TextMate  : editor de texto GUI para macOS
  • UltraEdit  – Editor de texto y hexadecimal
  • vi  – Editor de texto orientado al teclado
  • Vim  – Versión mejorada del editor de texto vi
  • Visual Studio Code  : entorno de desarrollo integrado de Microsoft.

Controversia

Muchos editores de código fuente e IDEs han estado involucrados en constantes discusiones entre usuarios, a veces denominadas jocosamente "guerras santas" por la comunidad de programadores. [ 17 ] Ejemplos notables incluyen vi vs. Emacs y Eclipse vs. NetBeans . Estas discusiones han formado una parte importante de la cultura de internet y suelen comenzar cada vez que se menciona alguno de los dos editores.

Véase también

Referencias

  1. 1 2 "Diferencia entre IDE y editor de código" . GeeksforGeeks . 15-11-2024 . Consultado el 14-12-2025 .
  2. 1 2 Krill, Paul (27 de junio de 2016). "El protocolo Language Server Protocol respaldado por Microsoft busca la interoperabilidad de lenguajes y herramientas" . InfoWorld . Recuperado el 19 de junio de 2022 .
  3. "Documentación LSP - Neovim" . neovim.io . Consultado el 19 de junio de 2022 .
  4. Shubham, Yadav. "Soporte del protocolo del servidor de lenguaje en Brackets · Wiki de adobe/brackets" . GitHub . Consultado el 19 de junio de 2022 .
  5. "Modo LSP - Compatibilidad con el protocolo del servidor de lenguaje para Emacs - Modo LSP - Compatibilidad con LSP para Emacs" . emacs-lsp.github.io . Consultado el 19 de junio de 2022 .
  6. Devlieghere, Jonas (22 de abril de 2018). "Uso de LSP y clangd en Vim" . Jonas Devlieghere . Recuperado el 19 de junio de 2022 .
  7. "Inicio - Documentación del protocolo del servidor de lenguaje de Sublime Text" . lsp.readthedocs.io . Archivado del original el 12 de junio de 2022. Consultado el 19 de junio de 2022 .
  8. "Guía del usuario del editor de LPEX - Versión 4" (PDF) . IBM . Consultado el 19 de junio de 2022 .
  9. Mike Cowlishaw FREng BSc CEng FIET FBCS CITP , IBM , consultado el 20 de junio de 2022{{citation}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  10. "La historia de Vim" . Jovica Ilic . 5 de junio de 2014.
  11. "0.1-first-public-release Milestone · neovim/neovim" . GitHub . Consultado el 29-01-2025 .
  12. Orin, Andy (18 de junio de 2015). "Detrás de la aplicación: La historia de Notepad++" . Lifehacker Australia . Recuperado el 17 de junio de 2022 .
  13. Somasegar, S (4 de julio de 2015). "Presentación de Visual Studio Code, Visual Studio 2015 RC, Application Insights Public Preview y .NET Core Preview para Linux y Mac - Blog de Somasegar - Página principal - Blogs de MSDN" . blogs.msdn.com/ . Microsoft. Archivado del original el 4 de julio de 2015. Consultado el 17 de junio de 2022 .
  14. "Encuesta para desarrolladores de Stack Overflow 2021" . Stack Overflow . Consultado el 29 de enero de 2025 .
  15. "Ada Computer Science" . Ada Computer Science . Consultado el 14 de diciembre de 2025 .
  16. Petreley, Nicholas (11 de febrero de 2003). "Software de edición de texto Java para Linux" . Computer World . Consultado el 17 de junio de 2022 .
  17. "Guerra Santa (jerga hacker)" . Archivado del original el 2 de abril de 2012. Consultado el 30 de noviembre de 2016 .