De un tiempo a esta parte, apareció en escena el gran Visual Studio Code y se hizo con el cariño de gran parte de la masa de desarrolladores del planeta. Este editor de texto, surgido de Microsoft y realizado en Electron, consume bastantes recursos debido a su desarrollo en Javascript como aplicación de escritorio, pero a cambio ofrece una funcionalidad, una sencillez de adaptación y desarrollo/instalación de plugins, inmensas, y que han encandilado a todo tipo de desarrolladores de software.
Y cuando parecía estar ya todo el pescado vendido, la comunidad avanza un paso hacia atrás (no en mal sentido) y no son pocos los desarrolladores que se están pasando de VSCode hacia el, a priori, arcaico Vim.
¿Por qué usar un editor basado en la terminal y en atajos de teclado existiendo opciones más «modernas»? ¿Es realmente por la «velocidad» que puede aportar Vim?
EL EFECTO VIM
Pero el caso es que un programador «de corazón» disfruta con las dificultades. El «efecto Vim» creo que es algo inherente a un programador. Es decir, cuando uno elige tirar por el camino de la programación, es porque le gustan las dificultades y su mente se estimula con el aprendizaje y resolución de tareas complicadas (excepto los que sólo buscan la pasta o se lo toman como un trabajo más). Cuando uno se dedica al desarrollo de software por pasión, seguramente es gente que ya de niños tenían que desmontar cachivaches y saber/ver cómo funcionaban internamente. Y de mayores esta curiosidad no desaparece; no basta con aprender un lenguaje y dedicarse a una tarea toda la vida. Normalmente, los desarrolladores no se estancan en un trabajo o en una tarea, sino que tienden a aburrirse cuando ya saben cómo hacer las cosas y entran en monotonía.
Es habitual que un programador esté continuamente aprendiendo nuevos lenguajes de programación, nuevos frameworks… nuevas tecnologías que estimulen su curiosidad. Y eso es lo que pasa con Vim. Visual Studio Code es una herramienta, que está muy muy bien para su cometido, pero tras un tiempo de uso, ya se domina, y entra en la monotonía. Y Vim representa, para los usuarios que nunca lidiaron con él, ese algo nuevo y excitante, ese editor «difícil» y enrevesado del que todo el mundo está hablando y al cual visibles personalidades de la programación se están pasando.
LA REALIDAD
Seamos realistas. Normalmente un programador no es más productivo por escribir código más o menos rápido, sino por tener claro lo que quiere hacer. Mucho trabajo del desarrollador es investigación y pensar y planificar las cosas que quiere realizar y cómo las quiere llevar a cabo. Escribir el código es sólo una parte de su trabajo, y con VSCode, Emmet o el novedoso Copilot de GitHub, la tarea de edición del código ya está bastante acelerada.
Vim es complicado. Es complicado de aprender y es complicado de utilizar. Se requiere mucho tiempo para estudiarlo, mucho tiempo para dominarlo y mucho tiempo también para configurarlo y ponerlo a funcionar al gusto de cada uno. Mucho tiempo, valiosas horas, que se podían invertir en escribir código con las herramientas conocidas. Pero Vim representa ese nuevo caballo a domar, un aliciente irresistible para gente aburrida del omnipresente Visual Studio Code, el cual, en su día, representó justo lo mismo: la novedad, el editor de moda, el «algo nuevo» y diferente que aprender y usar.
Yo conozco Vi desde hace años, y aprendí lo justo para poder leer o editar un texto rápido. Ahora, picado por el gusanillo, he profundizado un poco más en sus entresijos, los buffers, los tabs, .vimrc, los plugins… Realmente se puede hacer mucho más con él de lo que pensaba y también se puede potenciar mucho el Vim básico con todo tipo de añadidos, pero para mí seguirá siendo el editor rápido y secundario al que echar mano para algo puntual.
Por ahora, VSCode no tiene sustituto para mí, ni en velocidad ni en utilidad. Pese a lo «pesado» que es, funciona holgado en equipos bastante antiguos. Y qué decir de poder usarlo desde cualquier navegador sin tan siquiera tener que tenerlo instalado en nuestro equipo, pudiendo echar mano incluso de una tableta en cualquier lugar y poder escribir código con nuestro editor favorito.
Total, que en la variedad está el gusto, así que, que cada uno sea feliz construyendo software con las herramientas que más le hagan disfrutar del proceso.