PLO - página 4

 
mrProF:

Mi error: "No hay ninguna tarea que se pueda escribir en POO y que no se pueda escribir sin POO".


Así es como lo entendí por alguna razón.
 
Intenta implementar listas, árboles y gráficos en MQL4. Esto no es posible. En MQL5 es fácil de hacer; ni siquiera tienes que reinventar la rueda, puedes encontrar código en С++ y usarlo con mínimos retoques. Y por supuesto, los tipos que mencioné como ejemplo están mejor diseñados como clases. Las redes neuronales, la lógica difusa y muchas otras cosas se pueden implementar en MQL5 ahora. Pero no cabe duda de que cada herramienta debe ser adecuada para la tarea que hay que resolver, y la POO debe utilizarse sólo cuando sea necesario. Los gritos de los que reprenden las nuevas características son ridículos. Si no te gusta, no lo uses, nadie te obliga a usarlo. Utilice la programación funcional.
 
FoxRex:
Intenta implementar listas, árboles y gráficos en MQL4. Esto no es posible. En MQL5 es fácil de hacer, ni siquiera tienes que reinventar la rueda, sólo tienes que encontrar algo de código en С++ y utilizarlo con un mínimo de retrabajo. Y por supuesto, los tipos que mencioné como ejemplo están mejor diseñados como clases. Las redes neuronales, la lógica difusa y muchas otras cosas se pueden implementar en MQL5 ahora. Pero no cabe duda de que cada herramienta debe ser adecuada para la tarea que hay que resolver, y la POO debe utilizarse sólo cuando sea necesario. Los gritos de los que reprenden las nuevas características son ridículos. Si no te gusta, no lo uses, nadie te obliga a usarlo. Utilice la programación funcional.

No confundas "imposible" y "difícil", no hay ninguna tarea que no se pueda resolver con programación procedimental y que al mismo tiempo se pueda resolver con POO, me refiero a la funcionalidad final del programa...
Y en general, se puede escribir en lenguaje ensamblador, puede relajarse, servir listo :)

La POO se basa en la misma programación procedimental con un aislamiento añadido de datos y funciones.
Por ejemplo, se tarda más en escribir un programa "¡Hola mundo!" utilizando POO, pero es más rápido escribir un proyecto grande. El límite entre la elección de escribir POO o no POO es muy difuso y depende de la experiencia, el propósito y las preferencias del programador.
Personalmente para mí es más conveniente escribir OOP en la mayoría de los casos, porque conozco sus "cuellos de botella" y "anchuras" y tengo experiencia en programación OOP (C++, JavaScript, PHP).
Pero si escribo algún script de prueba corto, no uso OOP.

Consejo: antes de pasar a la POO en los problemas del mundo real, deberías practicar con ejemplos sencillos, por ejemplo, para escribir una clase que sume dos números, etc.
Es poco probable que se pueda leer en un libro sobre POO y empezar a programar programas serios en él sin practicar.
Tienes que acostumbrarte a ello, empezar a pensar en términos de POO, ver lo que tienes que diseñar como clase y lo que no.

 
Listas, árboles, gráficos, no es posible tener punteros en MQL4.
 
FoxRex:
Listas, árboles, gráficos, no es posible tener punteros en MQL4.

Tenga en cuenta que esto es una implementación, no un resultado.
¿Programamos para el resultado (programa) o para la ejecución del programa?
Podemos prescindir de todos estos métodos y organizarlo en arrays y paso de valores.
Es complicado, lleva tiempo, pero es posible.

 
mrProF:

Tenga en cuenta que esto es una implementación, no un resultado.
¿Programamos para el resultado (programa) o para la ejecución del programa?
Puedes prescindir de todos estos métodos y organizarlos en arrays y pases de valores.
Es complicado, lleva tiempo, pero es posible.

Los "nacidos" en la era de Windows y OOP no pueden entender DOS y C / Turbo Pascal (por no hablar de Asm)...

En mi opinión, por supuesto, pero ....

 
Interesting:

Los que han "nacido" en la era de Windows y de la programación orientada a objetos (OOP ) no pueden entender lo que son DOS y C / Turbo Pascal (por no hablar de Asm)...

En mi opinión, por supuesto, pero ....

Para que los crackers entiendan lo que es el asm :)
Hay que probarlo todo para variar, porque el programador puede resolver un problema de varias maneras a la vez :)
Pero depurar un programa en Asm es deprimente :)
 
mrProF:

Tenga en cuenta que se trata de la aplicación, no del resultado.
¿Programamos para el resultado (el programa) o para la ejecución del programa?
Es posible prescindir de todos estos métodos y organizarse en arrays y paso de valores.
Es complicado, lleva tiempo, pero es posible.

Estoy de acuerdo en que podemos hacerlo, siempre que la matriz sea dinámica. Pero está de acuerdo en que no es una solución muy elegante. Es más fácil hacerlo en ensamblador. Y la OPP nació antes que Windows. Y sus ideas me ayudaron a programar en lenguaje ensamblador para MS/CT. Y mi primer libro de texto de programación fue el libro de tres volúmenes de Knuth.
 
FoxRex:
Estoy de acuerdo, se puede hacer, siempre y cuando el array sea dinámico. Pero debes estar de acuerdo en que no es una solución muy elegante. Es más fácil hacerlo en ensamblador. Pero OPP nació antes que Windows. Y sus ideas me ayudaron a programar en lenguaje ensamblador para MS/CT. Y mi primer libro de texto de programación fue el libro de tres volúmenes de Knuth.
Estoy de acuerdo.
Así que, pensándolo bien, "OOP es conveniente" :)

Y también: "Si no te sientes cómodo utilizando la POO, no la utilices" :)

Dos simples conceptos...

 
mrProF:

La POO es algo bueno para los programas grandes.
Si el código es de menos de 50 líneas, no necesita OOP.
Pero cuando el código se hace muy grande, es casi imposible entender qué pertenece a qué, sólo a través de los comentarios.
La probabilidad de que se produzca un error aumenta cuando las variables no se comparten como es debido; es un lío.
En POO, las variables pueden ser almacenadas dentro de un contenedor (clase) junto con los métodos (funciones).

No hay ninguna tarea que se pueda escribir en POO y que no se pueda escribir sin POO.
Es una cuestión de conveniencia))

La POO no es un método para resolver problemas, sino una forma de estructurar el código.

Es necesario utilizar la POO si el programa se hace más grande que "Hello word".

En general, conozco el MQL4 desde hace varios años y no puedo dejar de asombrarme de su miseria. El cuarto MQL está tan lejos como una estrella de las capacidades de la C clásica. En MQL5 los desarrolladores decidieron seguir adelante. El número de funciones ha aumentado y la programación se ha hecho más fácil. El lenguaje se ha vuelto más complejo, sí, pero el producto no fue creado para los estudiantes de la escuela.