2009-11-28 13 views
9

¿Cuáles son los casos de uso común de erlang? Lo sé en general, pero estoy buscando ejemplos específicos. Son las siguientes algunas situaciones donde Erlang puede ser útil?Casos de uso común de erlang

  1. Un planificador de tareas distribuidas. (Tome trabajos complejos de múltiples etapas de una cola de trabajos y asígnelos a hilos de trabajo que ejecutarán cada hilo y luego pasará el resultado de una etapa a otra) (Como un lado, este es un caso interesante para integrar Erlang y Java/C++. Cada etapa puede ser arbitrariamente intensiva computacionalmente y, por lo tanto, Erlang podría no ser apropiado para el cálculo dentro de cada paso, pero podría usarse para coordinar toda la interconexión. (Advertencia: Esto parece Mapa-reducir, pero no es que no hay reducir la operación pasando aquí.)
  2. Sitio manejo
  3. algoritmo distribuido para seleccionar el elemento más grande Kth entre múltiples flujos continuos de datos (o la realización de dicha Solicitud análisis similar)

En algún lugar de SO, leí que resolver problemas en Project Euler usando Erlang es una buena idea. ¿Lo es?

Cualesquiera otros casos comunes del día a día de uso, distintos de escritura erlyweb, couchdb, el pian, etc? Después de ver aplicaciones como Erlyweb, Couchdb, yaws, etc., parece que Erlang brilla principalmente cuando solo quieres ser masivamente concurrente, pero la lógica de negocios subyacente en sí es bastante simple. No tengo aplicaciones famosas donde la lógica de negocios también es muy complicada y necesita concurrencia masiva. Lógica de negocios menos => no hacen mucho con los datos además de solo despacharlo/pasarlo/almacenarlo en alguna parte.

Gracias

+0

Consulte también: http://stackoverflow.com/questions/1636455/where-is-erlang-used-and-why – tuinstoel

+0

Erlang preguntas frecuentes responde a su pregunta. - [¿Para qué tipo de aplicaciones es particularmente adecuado Erlang] (http://www.erlang.org/faq/introduction.html#1.3). - [¿Qué tipo de problemas Erlang no es particularmente adecuado para] (http://www.erlang.org/faq/introduction.html#1.4). –

Respuesta

10

Erlang brilla en la SOA y de programación del lado del servidor. La complejidad de la lógica de negocios no es un problema. Puede administrar la aplicación más compleja que necesite. Será menos código que C/C++ y Java para asegurarse de hacer lo mismo, probablemente menos código que Python o incluso Ruby. No hay ninguna restricción sobre cuán compleja es tu lógica. Yo diría que un conmutador telefónico (que es el que Erlang utilizó por primera vez) tiene algunas lógicas y lógica bastante complejas detrás de él.

Es discutible que los lenguajes funcionales sean más expresivos y fáciles de mantener cuanto más compleja sea la lógica. Erlang es muy popular en aplicaciones comerciales de alto volumen en GRANDES bancos en Wall Street, la lógica de hacer estos oficios es mucho más compleja que cualquier otra en una aplicación comercial común.