Estoy tratando de aprender más sobre Erlang que los proyectos de juguetes con los que he estado jugando. Con este fin, estoy leyendo Programming Erlang y algunos de los archivos de Armstrong en Software .
También me gustaría leer algún código de ejemplo (preferiblemente de producción) que muestre el tipo de cosas que puede construir con Erlang que serían desproporcionadamente difíciles en otros idiomas. Además de (supongo) Yaws , ¿hay ejemplos disponibles públicamente de un hermoso código de Erlang que pueda leer para comprender mejor el idioma y / o ver los usos idiomáticos de varias construcciones de lenguaje?
Específicamente no busco código que "haga el trabajo", sino que use prácticas cuestionables, o ejemplos en la línea de "así es como se escribe factorial
en Erlang".
En la misma línea, ¿alguien puede recomendar alguna buena literatura para aprender este idioma (aparte del mencionado "Programación Erlang")? De preferencia, algo que usted mismo usó para aprenderlo, pero si hay algunos libros estándar de la comunidad, tírelos también.
Respuestas:
Otra buena referencia es Erlang y OTP en acción .
Acerca de los ejemplos de código: es un poco difícil encontrar las mejores prácticas para Erlang, pero te sugiero que pruebes estos sitios web:
Consulte los enlaces de este artículo (software de código abierto escrito en erlang) y puede encontrar código interesante.
fuente
Desde que agregó la etiqueta programación funcional, ¿qué le parece escribir un compilador o intérprete Erlang en Haskell? Erlang ya no es lo último en tecnología, como en todos. Recomiendo aprender Erlang en uno o dos días, como algunos otros idiomas (LISP, Prolog), y luego olvidarme de ellos; son solo un paso para desaprender los imperativos lenguajes OOP.
Para tareas más pequeñas que la implementación de un compilador, vea Proyecto Euler .
[EDITAR] Para responder el comentario:
Desde un punto de vista técnico: Erlang era bueno en los viejos tiempos, cuando no había procesadores multinúcleo. Pero ahora, dado los compiladores / intérpretes existentes de los que estoy seguro, simplemente ya no se escala como debería. Un intérprete escrito en Haskell escalaría, compilado a Haskell lo haría más rápido pero eliminaría la función de reemplazo de código sobre la marcha.
Desde el punto de vista de los programadores: Haskell no es la mejor opción para todas las tareas aplicables, pero atm, los lenguajes probablemente más avanzados son muy experimentales, y esas tareas no aplicables generalmente tienen algo que ver con sistemas integrados (como microcontroladores y GPU) o NumberCrunching, donde C y Assembler siguen siendo la mejor opción.
¿Qué es exactamente algo que podrías hacer con Erlang mejor que en otros idiomas?
fuente