Funcional vs. modelos de programación de procedimiento para grandes datos

Cuando la gente habla del mapa y reducir en grandes volúmenes de datos, lo hacen con el fin de las operaciones dentro de un modelo de programación funcional. La programación funcional es una de las dos formas en que los desarrolladores de software crean programas para abordar los problemas de negocio. El otro modelo es la programación procedimental. Echa un vistazo rápido para entender las diferencias y para ver cuándo es mejor utilizar uno u otro modelo.

Programas procesales son altamente estructurado y proporcionan instrucciones paso a paso sobre qué hacer con los datos de entrada. El orden de la ejecución es importante, y los datos de entrada se cambia a medida que avanza a través de cada paso del programa. Ejemplos de lenguajes de procedimiento incluyen FORTRAN, COBOL, C y C ++.

Los mejores usos para los programas de procedimiento son aquellos en los que está bien para cambiar los valores de los datos de entrada o en las que necesita para comparar los valores calculados en uno de los pasos para determinar si es necesario continuar el procesamiento o salir del programa y entregar el resultado.

En contraste, los programas funcionales no cambian los datos de entrada. Miran a todos los datos de patrones específicos y luego se aplican las reglas para identificar los elementos importantes y luego ensamblarlos en listas. El orden del procesamiento no es importante porque cada operación es independiente de la otra. Ejemplos de lenguajes funcionales incluyen LISP, Esquema, Prolog, y R.

Programas funcionales no cambian los datos de entrada y se utilizan con mayor frecuencia cuando es necesario tener en cuenta los datos una y otra vez para diferentes patrones. Por ejemplo, usted podría mirar a través de una lista de todos los condados en los Estados Unidos que votaron republicano en las últimas elecciones y luego ir por la lista de todos los condados demócratas. Esto producirá dos listas de salida distintas.


» » » » Funcional vs. modelos de programación de procedimiento para grandes datos