Interesante visión de la OLP - página 12

 
fxsaber:

Entiendo que es una cuestión de costumbre y de conocimiento de la sintaxis, pero me cuesta mucho entrar en el código, a pesar de ser el autor del original.

Desgraciadamente, no puedo utilizar MQL en estilo FP. En resumen, se explota el siguiente enfoque: hay condiciones de oferta (PammSet) y hay funciones que convierten las condiciones en el resultado financiero (AccountRecord). Ambos tipos son invariables y se establecen en la creación. La tarea consiste en generar un conjunto de ofertas y comparar cada elemento de este conjunto con el resultado financiero mediante la función de asignación (Set1, Set2, Set3). El elemento clave es la función SELECT que aplica una función arbitraria como Func<in, out> a cada elemento de la secuencia.

 

Jacques Fresco sobre FP y OLP


 
¿Y en qué se diferencia fundamentalmente este FP del uso de punteros de función?
 
Dmitry Fedoseev:
¿Y en qué se diferencia fundamentalmente del uso de punteros a funciones?

lo es, sólo que la sintaxis FP es más conveniente.

tanto más conveniente que toda la arquitectura del código se basa en ella

por ejemplo, podría crear un bloque que reciba una tarea que se ejecute cuando se haga clic con el ratón .... por ejemplo, para la interfaz gráfica de usuario.

y ahí puedes agrupar las llamadas en una lista y añadir el trabajo a ejecutar de forma muy sencilla

ejemplo

Button1.MouseClickAdd(() => (aquí hay un enlace a nuestra función al estilo de Funk();))

en este caso, dicha configuración, es decir, la tarea, puede ser añadida por el usuario, que utiliza el código de nuestra barra de herramientas para configurar sus acciones en el botón....

en este caso, el enlace de la función se tomará del ámbito. es decir, una clase puede añadirse a cualquier cosa. Por lo tanto, no estamos añadiendo el resultado final de la función, sino la función que debe ser ejecutada (llamada) cuando se produce esta condición.

 
Dmitry Fedoseev:
¿Y en qué se diferencia fundamentalmente este FP del uso de punteros de función?

La PF es una implementación del lambda-cálculo, y la programación imperativa (que incluye la POO) es una implementación de la máquina de Turing.

 
Aleksey Nikolayev:

La PF es una implementación del lambda-cálculo, y la programación imperativa (que incluye la POO) es una implementación de la máquina de Turing.

Tiene sentido)

 

Creo que estamos discutiendo sobre "moscas y chuletas".

Si FP es un sustituto impresionante de OOP, muéstrame un ejemplo de GUI implementado en FP, no el ejemplo anterior

Кнопка1.MouseClickAdd(()=>(тут ссылка на нашу функцию в стиле Funk();))

sino un ejemplo de los botones, casillas de verificación, barras de desplazamiento, etc. - todo hecho en FP.


En mi opinión, si la FP ayuda a simplificar la formalización y la resolución de problemas, para no crear una dependencia deC++ en la ejecución lineal del código (de arriba a abajo) - ¡bien! pero discutir que la FP es una alternativa a la POO (que surgió del estilo procedimental), en mi opinión otra comparación de frío y calor

 
Igor Makanu:

Creo que estamos discutiendo sobre "moscas y chuletas".

Si FP es un sustituto impresionante de OOP, muéstrame un ejemplo de GUI implementado en FP, no el ejemplo anterior

sino un ejemplo de los botones, casillas de verificación, barras de desplazamiento, etc. - todo hecho en FP.


En mi opinión, si la PF ayuda a simplificar la formalización y la resolución de problemas, para no crear una dependencia deC++ en la ejecución lineal del código (de arriba a abajo), ¡bien! pero discutir que la PF es una alternativa a la POO (que surgió de un estilo procedimental), en mi opinión es otra comparación entre lo cálido y lo blando.

Aquí exactamente una no impide la otra, sino que la complementa.

Y si quieres, también puedes crear todo en FP como en OOP con la estructura de Tyke - aunque es una tarea muy dudosa
 
Alexandr Andreev:

En este caso, una no interfiere con la otra, sino que la complementa.

eso es lo que estoy escribiendo

y el artículo del primer post del hilo, trata de comparar dos paradigmas de programación completamente diferentes, en cuanto a su finalidad.

 
Aleksey Nikolayev:

La PF es una implementación del lambda-cálculo, y la programación imperativa (que incluye la POO) es una implementación de la máquina de Turing.

Exhaustivo. No añadiría más ))

Razón de la queja: