Pregunta súper abierta, pero voy a morder.
Erlang, o más específicamente la parte de la Plataforma de Telecomunicaciones Abiertas (OTP) de Erlang, se diseñó específicamente para aplicaciones concurrentes de larga duración. Si bien el caso de uso original era para conmutadores telefónicos, Erlang / OTP puede ejecutarse en la mayoría del hardware en estos días.
Una de las mejores características de una plataforma concurrente y de larga duración que ofrece Erlang / OTP es la capacidad de intercambiar módulos de código en caliente sin reiniciar la aplicación. Esto permite que su código evolucione naturalmente con teóricamente 0 tiempo de inactividad, bastante impresionante.
- ¿Transición de C ++ / programación de sistemas a MVC?
- ¿Qué cosas puedo hacer como ingeniero de software autónomo, además del código, para asegurarme de ser un mejor programador constantemente?
- ¿Las pruebas de software son más fáciles en comparación con la codificación / desarrollo en el campo del software?
- ¿Qué tan difícil es desarrollar un software antivirus?
- ¿Las pruebas unitarias de escritura son mejor realizadas por los desarrolladores o el control de calidad?
Además, dado que Erlang se diseñó a sí mismo para tener transparencia referencial / variables inmutables y comunicación a través del paso de mensajes, hace que Erlang sea extremadamente adecuado para sistemas concurrentes. Fue construido esencialmente para funcionar excepcionalmente bien en problemas concurrentes.
Para ser justos, solo he incursionado en Scala, pero entiendo que el ecosistema Scala está tratando de construir algunos de los mismos patrones que Erlang tiene, específicamente en torno a Akka y desacoplar la transmisión de mensajes.
¡Espero que ayude! Sin embargo, realmente necesito más información sobre los detalles de tu aplicación para realmente ayudar.