Número 66
16 de agosto de 2023

A mellor linguaxe

Faláronme hai pouco dun equipo que quería atopar a mellor linguaxe para o seu proxecto. Comezaron con Ruby, xa que a xente falaba moi ben desa linguaxe, pero descubriron que os programas escritos nela eran máis lentos do que eles querían. Despois mudaron a Elixir, unha linguaxe para sistemas de tempo real, pero pronto desistiron cando se decataron de que “tempo real” non significa “rápido” e moita xente no equipo non se afacía á programación funcional. Despois mudaron a Rust, e aínda non pasou tempo dabondo para o descubriren, pero tampouco é a mellor linguaxe para o seu proxecto porque a mellor linguaxe é a que xa coñeces ben.

A torre de Babel.

Un estereotipo dos programadores é que sempre queren usar a linguaxe que está de moda. Xa pasamos por iso con Ruby, Elixir, Nin, Zig, NodeJS, … Polo ruído que facían os seus admiradores, un podía pensar que todas e cada unha destas linguaxes eran unha revolución que había marcar un antes e un despois na historia (non só da informática, senón do universo). Porén, aínda que algunhas destas linguaxes seguen a ser populares, a maioría desapareceu ao pouco de ter os seus quince minutos.

O inconveniente de usar a linguaxe de moda é que, como apareceu recentemente, os programadores non a coñecen ben dabondo para saber se é axeitada para as súas necesidades. Leron a documentación, probárona un pouco na casa, quedaron namorados dunha ou dúas características da linguaxe, e iso xa é dabondo para querer usala sempre, ou polo menos ata que as carencias se fagan tan evidentes que se volva imposible ignoralas.

Eu sempre digo que o máis importante dunha linguaxe é o seu ecosistema. Pouco importa se o sistema de tipos é perfecto se non hai bibliotecas para acceder a unha base de datos; dá igual se podemos argallar unha mónada para incrustar o contexto se non hai ninguén ao que lle poidas preguntar as dúbidas; é irrelevante que a linguaxe sexa perfecta para as necesidades da empresa se é imposible contratar a ninguén que saiba traballar nela.

É por iso que os nosos xefes sempre queren usar Java, PHP, C# e outras antigüidades. Non é que sexan uns carcas e estragafestas que non lles ven as avantaxes ao borrow checker e aos que non lles chama a atención poder ver os cambios sen recargar a páxina: é que se alguén se atasca cun problema de Python hai dous millóns de respostas en Stack Overflow, e se precisan de contratar programadores de C++ xa hai varios vivindo en Rianxo así que non os teñen que ir buscar fóra.

A mellor linguaxe, repito, é a que xa coñeces ben. Sabes ben para que é boa e para que é mala; que podes facer con facilidade e que cousas son complicadas; os patróns de código que facilitan o traballo e os que o atrancan. Se precisas de axuda sabes onde conseguila; se máis xente se une ao equipo, podes axudar a formalos e darlles consellos.

E se queredes aprender novas linguaxes (que sempre é bo facelo), existen moitas posibilidades: nun proxecto persoal na casa, nun proxecto pequeno no traballo, … pero non pretendades mudar o principal proxecto da empresa a esa linguaxe da que oístes falar a semana pasada en Hacker News, que vai ser un desastre.

A ilustración desta Folla procede da “Torre de Babel” de Pieter Brueghel o Vello.