Recientemente, durante un conversación sobre Big Data, Hadoop y el análisis de data, surgió el tema de los lenguajes funcionales en los mismos. Es bien sabido que los lenguajes funcionales son ideales para Big Data, pero no nos quedaba claro porqué. Buscando un poco, ésta respuesta de SO nos dió más luces al respecto:
As a consequence, a purely functional program always yields the same value for an input, and the order of evaluation is not well-defined; which means that uncertain values like user input or random values are hard to model in purely functional languages.
Podemos resumir en que: Los lenguajes funcionales siempre arrojarán un valor para determinada entrada (La orden de evaluación no está bien definida). Ésto es totalmente deseable para la computación distribuida y el Big Data, puesto que la idea es asegurar una salida consistente en todos los nodos donde se procese.
Para saber un poco más al respecto, les recomiendo ésta lectura.
Por otro lado, recomiendo muchísimo ésta la especialización en SCALA, (un lenguaje funcional que corre en el JVM) dictado por la École Polytechnique Fédérale de Lausanne en Coursera.