Robert Virding es una persona muy elocuente, cada vez que hablas con él te das cuenta de que tiene ideas muy bien establecidas y es capaz de explicarlas de forma sencilla y como creador de Erlang, su amor por su creación le hizo soltar lo que hoy en día hemos llamado la Ley Virding, ¿la conoces?
La ley dice:
Any sufficiently complicated concurrent program in another language contains an ad hoc, informally specified, bug ridden, slow implementation of half of Erlang.
En español viene a traducirse como:
Cualquier programa concurrente suficientemente complejo en otro lenguaje contiene una implementación ad hoc, especificada informalmente, plagada de errores y lenta de la mitad de Erlang.
Erlang, tal y como digo en el libro de Erlang (Volumen I) es tanto un lenguaje como una máquina virtual y esta máquina virtual tiene implementadas todas las dinámicas necesarias para desarrollar programas concurrentes de forma fácil.
Enumerando algunas de las bondades con respecto a las propiedades de los procesos, tan solo el hecho de poder intercambiar mensajes, obtener información cuando un proceso termina su ejecución e incluso información sobre cómo y porqué terminó el proceso permite construir estructuras como los supervisores (vistos en el libro de Erlang (Volumen II)) o incluso a través del framework OTP podemos depurar y obtener información de los servidores (la unidad mínima en OTP) en ejecución.
El lenguaje de programación Go, de hecho, toma ideas y fue influenciado por Erlang, que se encontraba en un momento de máxima popularidad cuando Go fue creado y estableció el Modelo Actor y la Programación Orientada a la Concurrencia (como la nombró Joe Armstrong en sus libros) como la base para implementar lenguajes de sistemas y de backend resilientes, responsive y tolerantes a fallos.
Incluso si Erlang no es un lenguaje que te llame la atención y no vayas a utilizar en producción, su conocimiento acerca de cómo gestiona los procesos, la memoria y los nodos ayuda a entender cómo implementar mejores soluciones en software de sistemas y backend en cualquier otro lenguaje.
Te invito a que eches un vistazo a los capítulos en abierto de los libros de Erlang en esta página (Volumen I y Volumen II) y saques tus propias conclusiones. También si quieres adquirilos finalmente para aprender un poco más, adelante. Saber es poder.