Conecta con nosotros

A Fondo

6 editores de código (o de texto) para programar o redactar con formato

Publicado

el

editores de código

Los editores de código son una de las herramientas más conocidas en el sector de la programación. Simplificando mucho la comparativa con los editores de texto y los entornos de desarrollo integrados (IDE), destacan frente a los primeros por el resaltado de la sintaxis, el autocompletado (aunque no siempre) y por permitir una gestión simple de los proyectos, mientras que ante los segundos lo que sobresale es la carencia para automatizar o realizar muchas tareas y características como la refactorización automatizada, programación visual, integración con bases de datos y la depuración integrada en la aplicación, si bien a la hora de la verdad cada producto soporta las características que le conviene.

La diferencia con los IDE se diluye si se tiene en cuenta que los editores de código, en muchos casos, soportan complementos que permiten extender las posibilidades que ofrecen, por lo que es posible dotar a un editor de código de características que son más propias de un IDE. Otro aspecto a tener en cuenta es que, por lo general, los editores de código consumen menos recursos que los IDE, cosa que deriva del enfoque que tiene cada herramienta.

Mi intención no es crear un debate sobre si los editores de código son mejores que los entornos desarrollo integrados y viceversa, ya que cada herramienta tiene un enfoque y un propósito diferente, y, dependiendo de la tecnología trabajada y la situación, puede ser más conveniente emplear una u otra. Sin embargo, la expansión de los frameworks durante el transcurso de los últimos tiempos ha hecho que los editores de código hayan ganado protagonismo frente a los IDE, sobre todo porque dichos frameworks son capaces de generar un código que luego es editado.

Los editores de código se han vuelvo muy populares, mientras que los IDE no parecen vivir su mejor momento. Eso no quita que la empresa checa JetBrains se haya erigido como la reina de los IDE con muy buenos productos. En el sector del desarrollo de aplicaciones para móviles el uso de entornos de desarrollo integrados sigue siendo muy común, más si vemos que Android Studio, que además se basa en la tecnología de JetBrains, es la herramienta que Google proporciona de manera oficial para ese menester.

editores de código

Fuente: Pixabay

Los editores de código tuvieron su auge en la segunda década del Siglo XXI y desde hace unos años estamos viviendo una concentración en dicho segmento, con interesantes propuestas como Atom y Brackets que fueron abandonadas por sus desarrolladores originales. El primero está oficialmente difunto y el segundo continúa su desarrollo como un proyecto comunitario.

A pesar de la concentración experimentada en los últimos años, cosa normal si se tiene en cuenta que el sector estaba bastante fragmentado, voy a aprovechar esta oportunidad para mencionar seis exponentes muy conocidos, los cuales no son todos estrictamente editores de código debido a que, en algunos casos, la diferencia con los editores de texto es estrecha.

Aviso que no va a haber sorpresas, pero posiblemente más de uno vea alguna propuesta que le interese, y no solo para programar, sino también para desarrollar textos con Markdown o etiquetas de HTML, los cuales son soportados en muchos foros y zonas de comentarios.

Visual Studio Code

Empiezo con el ejemplo más conocido por todos en la actualidad. Visual Studio Code es el editor de código construido por Microsoft y basado en Electron (no hay que confundirlo con el IDE Visual Studio, que es otro producto). A pesar de que ese último factor le ha granjeado muchos detractores debido a que en el fondo es una webapp, lo bien diseñado que está y la gran cantidad de complementos que tiene a su disposición lo han convertido en la elección de muchos programadores.

Visual Studio Code, nombre que muchas veces es abreviado como VS Code, incluye soporte para depuración, resaltado de sintaxis, completación de código inteligente, una consola de línea de comandos integrada, fragmentos de código e incluye soporte para Git.

Apareció en 2015 como una aplicación multiplataforma para Windows, Linux y macOS, pero era privativa y a nivel de características dejó fríos a muchos. Sin embargo, Microsoft ha invertido mucho en su mejora y lo ha publicado como código abierto bajo la licencia MIT y un modelo similar al que Google emplea cuando crea Chrome a partir de Chromium, así que la responsables de Windows se ha guardado algunas cartas bajo la manga. Pese a ello, las bifurcaciones de VS Code a partir del código fuente liberado ofrecen una alta compatibilidad con las extensiones disponibles.

Este editor de código, a pesar de su procedencia, soporta una gran cantidad de lenguajes de programación, entre ellos C, C#, C++, Fortran, Go, Java, JavaScript, Node.js, Python y Rust. También incorpora IntelliSense para JavaScript, TypeScript, JSON, CSS y HTML; soporte de depuración para Node.js; además de tener para él una gran cantidad de extensiones que pueden ser obtenidas a través de la tienda oficial y que expanden sus posibilidades hasta casi el infinito.

Como ya he dicho, VS Code se ha hecho tremendamente popular, pero el hecho de ser una aplicación Electron le ha granjeado bastantes detractores, sobre todo para aquellos que dan mucha importancia al rendimiento.

Visual Studio Code

Sublime Text

Sublime Text es todo un veterano del sector y en la actualidad puede ser considerado como el mayor rival de Visual Studio Code al menos entre el público menos geek, porque más adelante veremos opciones muy potentes, pero que pueden requerir de aprendizaje para dominarlos.

Si se comparan VS Code y Sublime Text por encima, uno puede llevarse la impresión de que son similares, pero el segundo tiene la ventaja de estar escrito principalmente con C++, lo que sobre el papel le permite rendir mejor en contextos exigentes, equipos con menos recursos y acaparar menos recursos de la computadora. Por contra es una aplicación privativa y de pago, aunque ofrece soporte para Windows, Linux y macOS.

De entre sus características sobresalen “Goto Anything” para una navegación rápida a través de los ficheros, símbolos y líneas de un proyecto. También incluye una API de Python, preferencias específicas para los proyectos, amplias posibilidades de personalización mediante la manipulación de ficheros de configuración JSON y es compatible con muchos lenguajes de programación.

Sublime Text soporta resaltado de sintaxis, fragmentos de código, autocompletado, macros, autoguardado, asignación personalizada de las teclas, macros, repetición de la última acción y más.

Sublime Text

Notepad++

Notepad++ toma su nombre de Notepad, que es como se llama el archiconocido Bloc de notas de Windows en inglés. Esto ya deja entrever que se trata de una aplicación más básica que las anteriores, pero que la gente no se confunda, porque esta no es solo una herramienta para anotar cosas, sino una que tiene enormes posibilidades para los programadores.

En cuanto a su distribución, la situación de Notepad++ es la inversa que la de Sublime Text debido a que solo soporta Windows oficialmente, pero es software libre al estar su código fuente publicado bajo la licencia GPLv3 y es totalmente gratuito. Durante su trayectoria ha cosechado bastantes elogios, por lo que, dependiendo del perfil y las necesidades del usuario, puede ser el editor de código ideal.

Notepad++ soporta resaltado de la sintaxis, plegado del código, macros, autoguardado, edición simultánea, división de la pantalla y un autocompletado limitado para lenguajes de programación, de marcado, declarativos y de scripts. También tiene a disposición una destacada cantidad de complementos y soporta diversas codificaciones de caracteres y decenas de lenguajes, entre ellos los más populares. De hecho, soporta tantos lenguajes que estos están ordenados a través de un abecedario.

En resumidas cuentas, lo de “pequeño pero matón” le viene como anillo al dedo a Notepad++, y es que nunca hay que juzgar un libro por su portada.

Notepad++

GNU Emacs

Y nos adentramos en las profundidades para llegar a unos de los colosos de la edición de código. Fue el propio Richard Stallman, padre del software, quien escribió el primer Emacs en 1976. Años más tarde, en 1984, comenzó el desarrollo de GNU Emacs para proporcionar una alternativa a Gosling Emacs, una implementación privativa del mismo editor que actualmente se encuentra descontinuado. GNU Emacs se basó en un principio en Gosling Emacs, pero el cambio del intérprete Mocklips por un verdadero intérprete de Lips requirió de la reescritura de casi todo el código.

No hace falta decir que, debido a que es parte del proyecto GNU, GNU Emacs es software libre bajo la licencia GPLv3. Si bien tiene el foco puesto en Linux y BSD, también es posible instalarlo en Windows y macOS, así que ofrece soporte multiplataforma.

GNU Emacs es más un editor de texto que de código, pero es tan potente que va más que sobrado para realizar tareas de programación y no es raro que haya programadores que lo empleen. Sus principales características son que puede ser modificado de manera profunda y extendido casi sin límites.

También tiene a su disposición una gran cantidad de extensiones que permiten añadir soportes adicionales o transformar el editor de texto en un navegador web, por ejemplo. Descubrir todo el poder de GNU Emacs es algo que puede llevar tiempo y requerir de ganas de aprender.

GNU Emacs

Vim

Vim, que es la abreviatura de Vi Improved, es como bien indica su nombre una versión mejorada del Vi original, un editor de texto dirigido principalmente a sistemas Unix y tipo Unix, aunque también hay una versión para Windows (recuerdo que macOS es un Unix certificado). Está publicado bajo una licencia propia con cláusulas relacionadas con la caridad y que es compatible con la GPL.

Si bien está orientado principalmente a interfaces de línea de comandos, Vim tiene a su disposición un modo gráfico llamado gVim. Sin embargo, los verdaderos cracks con este editor lo usan desde la línea de comandos, que a fin de cuentas es su entorno natural.

Vim incluye muchas mejoras en comparación con el Vi original, entre ellas comparación y combinación de ficheros, un sistema de ayuda completo integrado, expresiones regulares extendidas, interacción con el ratón, ciertas funciones limitadas que recuerdan a las de un editor de código, además de otra muchas características.

¿Te parece Vim demasiado básico en su forma predeterminada? Una de sus cualidades más destacadas es que soporta extensiones. El usuario puede recurrir a NERDTree para obtener un explorador archivos y así poder manejar una carpeta como si fuera un proyecto. NERDTree es solo una de las extensiones que Vim tiene a su disposición y descubrir todo lo que hay para este editor depende del usuario.

Y como esto del software libre abre la puerta a que haya bifurcaciones a tutiplén, existe una llamada Neovim, la cual está publicada bajo la licencia Apache 2 e intenta mejorar en aspectos como la extensibilidad y la mantenibilidad e incluye soporte de Protocolo de Servidor de Lenguaje (LSP), entrada-salida asíncrona y scripts de Lua mediante luaJIT.

Vim con NERDTree

Vim con NERDTree.

Geany

Y cierro la lista con Geany, un editor de código sencillo, con interfaz gráfica, software libre bajo la licencia GPLv2, construido con C y C++ y con soporte para Windows, Linux, macOS y BSD. El proyecto se define a sí mismo como “el IDE de peso mosca”, y es que, a pesar de su ligereza y aparente simplicidad, es una aplicación que atesora mucho más de lo que aparenta al tener un puñado de características más bien propias de un IDE.

Entre sus características predeterminadas el usuario se encontrará autocompletado, marcadores, interfaz de múltiples documentos, gestión simple de proyectos, resaltado de sintaxis y plegado de código. Es extensible a través de complementos y cuenta con un emulador de terminal integrado, lo que puede venir muy bien a la hora de trabajar con frameworks como Ruby on Rails.

El administrador de complementos pone a disposición una gran cantidad de características adicionales, de las que se pueden destacar un depurador, un corrector ortográfico, una barra de cambios de Git, el soporte para macros y un explorador de archivos para así facilitar la navegación por las carpetas y ficheros del proyecto.

Como lenguajes soporta mucho de los más populares, entre ellos C, C++, C#, Java, JavaScript, PHP, HTML, CSS, Python, Ruby, Vala y muchos otros. A pesar de ser un tanto rudimentario en algunas facetas, es una aplicación que ofrece capacidades avanzadas y que no acapara una gran cantidad de recursos.

Geany

Conclusión

Como vemos, los usuarios tienen a su disposición opciones de distintos perfiles para editar el código fuente de los programas y las aplicaciones que crean o se descargan, y eso no quita el uso de dichas aplicaciones para otros propósitos como por ejemplo la consulta ficheros de registro muy grandes o un apoyo a la hora de escribir en Markdown o en HTML.

Estos seis exponentes no son ni por asomo los únicos que hay en el sector, pero sí son de los más populares.

Imagen de portada: Pixabay

Lo más leído