Recientemente, he estado buscando profundamente en la Programación funcional. Y con eso llegué a conocer bastante sobre Erlang y su modelo de simultaneidad.Modelo de concurrencia de Erlang vs Scala vs Go
Sorprendentemente (al menos para mí) encontré que (Erlang) se usa en el núcleo de muchas aplicaciones básicas bien conocidas como el Canal de chat de Facebook, el back-end del messenger What's App y aún en los servidores core-online de Call Of Duty. incluso llegué a leer en algunos foros que para sistemas distribuidos que atienden las peticiones web, Erlang es aún más escalable que Node.js o la JVM (no estoy seguro si esa información es exacta)
¿Por qué tenemos casos de, por ejemplo, Twitter migrando de RoR a Scala? Aunque Scala está destinado a ser utilizado con el paradigma funcional, ¿Erlang no sería aún mejor?
Otro gran caso que no puedo entender es Google. Es bien sabido (por las presentaciones de Go in the Google I/O 2011) que las aplicaciones centrales están basadas en C++ o Java. Entonces, ¿por qué tendrían que crear Go (golang) si Erlang puede encajar en el rol?
Nota: No me mal. Para mí, está claro que si tienes una sólida formación en Java, por ejemplo, Scala sería un modelo de programación funcional mucho más rápido de aprender que Erlang. Pero estoy poniendo la productividad a un lado aquí, quiero decir.
¿Cuáles serían los puntos fuertes de Erlang que harían que uno lo retomara e invirtiera tanto tiempo en aprenderlo?
Muchas gracias.
Tenga en cuenta que Erlang es muy fácil de aprender (posiblemente difícil de dominar, pero que se aplica a la mayoría de los idiomas). Aún más si estás acostumbrado al paradigma funcional. Al menos en mi universidad (Uppsala) comenzamos estudiando ML el primer año y Erlang, C y Java en el segundo. –