Por el blog te traigo una traducción que he realizado a una entrevista realizada a Bram Moolenaar el desarrollador que creó y mantiene el editor Vim

Hace un par de días encontré una entrevista a Bram Moolenar el desarrollador holandés que creó Vim (Vi mejorado) y que todavía mantiene y se encarga de gestionar las nuevas actualizaciones de este gran editor.
La entrevista está en inglés y publicada en la web evrone.com el pasado 14 de enero de 2022. Puedes leer la entrevista original escrita en inglés en este enlace:
Les pedí permiso para traducir la entrevista y publicarla en mi blog y amablemente me dieron permiso. Así que aquí la tenéis para que la disfrutéis.
Este artículo es una nueva entrega del curso “improVIMsado” que desde hace meses vengo publicando en mi blog sobre el editor Vim y que puedes seguir en estos enlaces:
Y para aprender Vim (de la manera más inteligente) aquí tienes esta útil guía:
Evrone: Mirando atrás en el tiempo, ¿qué significó para ti personalmente trabajar en Vim?
Bram: Un montón. Siempre me ha gustado crear cosas, pero muy a menudo, cuando algo ya está terminado, me pregunto qué hacer con él. Con Vim no solo puedo usarlo yo mismo, sino que al ponerlo a disposición del público muchas personas pueden disfrutarlo. Ha dado a conocer mi nombre en el mundo e indirectamente me consiguió un trabajo. En estos días, ahora que estoy jubilado, me da algo interesante, alegre y útil que hacer. Vim es una parte muy importante de mi vida.
Evrone: En tu opinión, ¿el desarrollo de software está más cerca del arte o de la ciencia? ¿Permite desviaciones de las técnicas tradicionales o hay que seguir estrictamente la dirección principal?
Bram: No veo mucha ciencia en el desarrollo de software. La ciencia implica que hay pruebas de que algo es cierto. En software hay muchas opiniones y hay experiencia, pero ¿hay alguna prueba de que un lenguaje de programación sea mejor que otro? ¿Hay pruebas de que la programación orientada a objetos resulte en una mejor productividad?
La mayoría de las pruebas son sobre medidas de rendimiento, y hay estadísticas, pero casi ninguna relación con el lenguaje en el que se escribió un programa o las herramientas que se usaron. Tampoco es arte, ya que el objetivo principal es que el software funcione bien, no que se vea bien.
Es mucho más una artesanía. Y un artesano usa las herramientas que cree que obtendrán el mejor resultado, sin importar si son las que usan los demás o algo diferente. Y un buen artesano fabrica sus propias herramientas cuando es necesario.
Evrone: Al abrir Vim, no podemos dejar de tener presente tu llamada para ayudar a los niños que viven en Uganda. ¿Cómo se le ocurrió esta idea de licenciar Vim usando los modelos de licencia Careware/Charityware y cuántas personas pueden hacer donaciones de esta manera?
Bram: Nunca he querido ganar dinero con Vim. Comenzó como un pasatiempo y la mayor parte del tiempo tenía un trabajo que pagaba bastante bien. Excepto por algunos años durante los cuales pedí donaciones.
Aún así, bastantes personas dijeron que pensaban que Vim valía algo y que se vendían otros editores. Así que decidí combinar mi deseo de ayudar a los niños pobres con eso y nació Charityware.
Funciona bien, se recaudan unos 30.000 euros al año de esta manera, lo que está ayudando a unos 50 niños a terminar su educación, desde la escuela primaria hasta la universidad. Las donaciones provienen de algunos grandes patrocinadores y muchas donaciones pequeñas.
Evrone: A pesar de toda su flexibilidad y funcionalidad, Vim no es un editor intuitivo, la curva de aprendizaje es bastante alta. Si alguien quiere usar Vim de manera efectiva, debe dedicar bastante tiempo a aprender los comandos de control. ¿Cuál fue el motivo por el que optó por este camino en lugar de introducir un modo «apto para principiantes» con un aumento gradual de la complejidad?
Bram: En realidad, hay un modo poco conocido en el que uno puede escribir sin conocer todos los comandos. Esto se llama «Easy Vim», o evim. Pero supongo que no se usa mucho, porque una vez que escuchas sobre Vim y todos los poderosos comandos, ¿por qué usarías un modo que lo hace funcionar como cualquier otro editor?
Obviamente, Vim es, al igual que Vi, algo que debes aprender a usar. Para mí, estaba más o menos obligado, cuando una clase práctica en la universidad tenía solo una computadora específica disponible y el único editor en él era vi.
Después de quejarnos a los profesores, su solución fue darnos una hoja de trucos de una página… Sin este aprendizaje forzado, es posible que nunca hubiera dado el salto para aprender a usar Vi, y el curso de la historia hubiera sido muy diferente.
Evrone: En los últimos años, hemos visto a los desarrolladores preguntar «¿me ayudará el código de alguien a resolver mi tarea actual?», en lugar de escribir su propio código desde cero. Como resultado, algunas aplicaciones cumplen con los estrictos plazos dictados por las empresas, pero se parecen a Frankenstein. Desde su punto de vista, ¿es aceptable tal enfoque?
Bram: Esto suele suceder cuando se ordena que el software sea creado por personas que no tienen conocimiento del software. He estado trabajando para una empresa donde bastantes gerentes, educados en física y mecánica, pensaban que el software era igual al que conocían y que podían decidir cómo hacerlo. Esa empresa fue cuesta abajo y finalmente fue absorbida.
Lo mismo sucede en lugares donde los tomadores de decisiones pueden salirse con la suya, como en el gobierno. Las personas que escriben el código probablemente solo se aseguran de que les paguen y luego huyen de la escena del crimen. En el otro extremo de la escala están las personas que quieren escribir un código hermoso, dedican mucho tiempo a él y no les importa si realmente hace lo que se pretendía que hiciera o cuál era el presupuesto. En algún punto intermedio, hay un equilibrio.
Evrone: Hace dos años, se anunció un «fork» experimental de Vim9. ¿Podrías contarnos un poco más sobre este «fork»? ¿Cuál es la etapa actual de este proyecto?
Bram: Vim9 no es un «fork», sino el siguiente paso para mejorar Vim. Primero hice un experimento para ver si compilar una función en un código de bytes funcionaría para hacer que el script de Vim fuera mucho más rápido. Resultó que funcionó bien, pero requirió hacer cambios en la sintaxis. Esa no es una elección fácil, admitir dos variantes de un lenguaje de script al mismo tiempo, pero creo que funcionará y hará felices a los escritores de complementos.
La sintaxis heredada permanecerá, por lo que no debería llamarse «fork». No espero que todos los scripts antiguos de Vim se reescriban en la nueva sintaxis, por lo que seguiremos admitiendo la sintaxis heredada. Incluso Python tardó mucho, mucho tiempo en convertir el 99% del código de Python en Python 3. Y ese 1% restante sigue ahí…
Evrone: Siempre es difícil mantener la compatibilidad con versiones anteriores porque muchas funciones no se pueden implementar sin romperse. ¿Se apegará Vim9 a sus principios de compatibilidad con versiones anteriores o abrirá una nueva página en la historia de Vim?
Bram: El script Vim9 no es compatible con versiones anteriores, pero la sintaxis del script heredado también está disponible. Uno puede decidir para cada archivo y cada función qué sintaxis usar. De esta manera tenemos la libertad de hacer que el script de Vim9 funcione mucho mejor.
Aún así, las dos variantes de secuencias de comandos de Vim están lo suficientemente cerca como para que uno pueda escribir cualquiera de ellas. He tenido cuidado de asegurarme de que cuando se comete una equivocación se proporcione un error para ayudar al usuario a solucionarlo rápidamente.
Evrone: El IRC se especifica como el canal de la comunidad en el sitio web oficial de Vim. No es tan popular hoy en día y algunos de los usuarios más jóvenes nunca han oído hablar de él. ¿Planeas cambiarte a Slack o Discord algún día para darle un mayor impacto a Vim de esta manera?
Bram: Soy muy anticuado, mi principal medio de comunicación es el correo electrónico. No es solo que esto es a lo que estoy acostumbrado, sino también porque no es disruptivo mientras trabajas.
Puedo leer y responder mensajes cuando quiero y posponerlos cuando no quiero que me interrumpan. Por supuesto, los usuarios son libres de elegir lo que funcione para ellos, otros pueden organizarlo. Sin embargo, la comunicación tipo chat tiende a ser muy ruidosa.
Evrone: Usando muchos manuales web, podemos descubrir excelentes complementos para ampliar la increíble funcionalidad de Vim. ¿Tiene algún complemento favorito y imprescindible que pueda recomendar a nuestra audiencia?
Bram: Debo admitir que no uso muchos complementos, aparte de los que se incluyen con la distribución (como matchit y termdebug). Cuando necesito algo, tiendo a hacer un truco rápido o agregarlo a la base de Vim. Ese es el lujo de ser el creador :-).
Evrone: Teniendo en cuenta su amplia experiencia, ¿podría compartir algún truco para los desarrolladores sobre cómo mantener la productividad a lo largo de los años? ¡Gracias!
Bram: Sin trucos, solo algunas reglas básicas y consejos. Una cosa que he visto hacer a los jóvenes es trabajar hasta muy tarde y luego terminar tarde a la mañana siguiente. La mayoría de las personas tienen su momento más productivo en la mañana, por lo tanto, es mucho mejor establecer un límite de tiempo estricto para detenerse.
Toma nota de dónde te quedaste, luego relájate un poco, duerme bien y continúa a la mañana siguiente. Muy a menudo, el problema con el que estabas atrapado ayer de repente adquiere una nueva perspectiva y sabes qué hacer. El término «dormir en él» realmente funciona, al menos lo hace para mí.
Otra cosa es que, a veces, lo que necesitas no es una solución inteligente o un ajuste interminable de su configuración, sino simplemente escribir rápido. La grabación y repetición de macros en Vim suele ser lo suficientemente buena como para hacer algo 200 veces. ¿Cuánto tiempo necesitarías para escribir un complemento para eso?
Hasta aquí la traducción que he realizado de la entrevista a Bram Moolinaar publicada en inglés en la web evrone.com. Espero que te haya resultado interesante, a mí me interesó y por eso quise publicarla en el blog. Gracias a la web evrone.com por permitirme publicar esta traducción.
Hay partes que me ha costado traducir y mantener el significado original, espero que sepas perdonar si no me ha quedado del todo correcta. Puedes aportar tus sugerencias en los comentarios.

Bueno, hace años leí una entrevista de Bill Joy donde decía que Vi se creó para unas necesidades de hardware y conectividad especiales, y que sería algo así como disparatado usarlo en la actualidad.https://www.theregister.com/Print/2003/09/11/bill_joys_greatest_gift/
¿Qué opinión tienes acerca de Liberty Linux?https://www.suse.com/products/suse-liberty-linux/
Lei lo de Liberty, pero no me terminó de quedar claro del todo…
Gracias por la info y los enlaces.
Saludos!!