PLO - page 4

 
mrProF:

Mon erreur : "Il n'y a aucune tâche qui peut être écrite en POO et qui ne peut pas être écrite sans POO".


C'est comme ça que je l'ai compris pour une raison quelconque.
 
Essayez d'implémenter des listes, des arbres, des graphes dans MQL4. Ce n'est pas possible. Dans MQL5, c'est facile à faire ; vous n'avez même pas à réinventer la roue, vous pouvez trouver du code dans С++ et l'utiliser avec un minimum de retouches. Et bien sûr, les types que j'ai mentionnés à titre d'exemple sont mieux conçus comme des classes. Les réseaux neuronaux, la logique floue et bien d'autres choses encore peuvent désormais être mis en œuvre dans MQL5. Mais il ne fait aucun doute que chaque outil doit être adapté à la tâche à résoudre, et que la POO ne doit être utilisée que lorsque cela est nécessaire. Les cris de ceux qui dénoncent les nouvelles fonctionnalités sont ridicules. Si vous ne l'aimez pas, ne l'utilisez pas, personne ne vous oblige à l'utiliser. Utilisez la programmation fonctionnelle.
 
FoxRex:
Essayez d'implémenter des listes, des arbres, des graphes dans MQL4. Ce n'est pas possible. Dans MQL5, c'est facile à faire, vous n'avez même pas à réinventer la roue, il suffit de trouver du code dans С++ et de l'utiliser avec un minimum de retouches. Et bien sûr, les types que j'ai mentionnés à titre d'exemple sont mieux conçus comme des classes. Les réseaux neuronaux, la logique floue et bien d'autres choses encore peuvent désormais être mis en œuvre dans MQL5. Mais il ne fait aucun doute que chaque outil doit être adapté à la tâche à résoudre, et que la POO ne doit être utilisée que lorsque cela est nécessaire. Les cris de ceux qui dénoncent les nouvelles fonctionnalités sont ridicules. Si vous ne l'aimez pas, ne l'utilisez pas, personne ne vous oblige à l'utiliser. Utilisez la programmation fonctionnelle.

Ne confondez pas "impossible" et "difficile", il n'y a aucune tâche qui ne peut être résolue par la programmation procédurale et qui en même temps peut être résolue par la POO, je veux dire la fonctionnalité finale du programme...
Et en général, vous pouvez écrire en langage assembleur, vous pouvez vous détendre, servir du prêt-à-porter :)

La POO est basée sur la même programmation procédurale avec une isolation supplémentaire des données et des fonctions.
Par exemple, il faut plus de temps pour écrire un programme "Hello world !" en utilisant la POO, mais il est plus rapide d'écrire un grand projet. La ligne entre le choix d'écrire la POO ou non est très floue et dépend de l'expérience, des objectifs et des préférences du programmeur.
Personnellement, il est plus pratique pour moi d'écrire de la POO dans la plupart des cas, car je connais ses "goulots d'étranglement" et ses "largeurs" et j'ai de l'expérience en programmation POO (C++, JavaScript, PHP).
Mais si j'écris un court script de test, je n'utilise pas la POO.

Conseil : avant de passer à la POO dans des problèmes du monde réel, vous devriez vous entraîner sur des exemples simples, par exemple, pour écrire une classe qui va additionner deux nombres, etc.
Il est peu probable que vous puissiez lire dans un livre sur la POO et commencer à programmer des programmes sérieux dans ce domaine sans pratique.
Il faut s'y habituer, commencer à penser en termes de POO, voir ce que l'on doit concevoir comme une classe et ce que l'on ne doit pas faire.

 
Listes, arbres, graphes, il n'est pas possible d'avoir des pointeurs dans MQL4.
 
FoxRex:
Listes, arbres, graphes, il n'est pas possible d'avoir des pointeurs dans MQL4.

Notez qu'il s'agit d'une mise en œuvre et non d'un résultat.
Programmons-nous pour le résultat (programme) ou pour la mise en œuvre du programme ?
Nous pouvons nous passer de toutes ces méthodes et l'organiser sur des tableaux et le passage de valeurs.
C'est compliqué, cela prend du temps, mais c'est possible.

 
mrProF:

Notez qu'il s'agit d'une mise en œuvre et non d'un résultat.
Programmons-nous pour le résultat (programme) ou pour la mise en œuvre du programme ?
Vous pouvez vous passer de toutes ces méthodes et les organiser sur des tableaux et des passages de valeurs.
C'est compliqué, cela prend du temps, mais c'est possible.

Ceux qui sont "nés" à l'ère de Windows et de la POO ne peuvent pas comprendre le DOS et le C / Turbo Pascal (sans parler de l'Asm)...

IMHO bien sûr, mais....

 
Interesting:

Ceux qui sont "nés" à l'ère de Windows et de la POO ne peuvent pas comprendre ce que sont DOS et C / Turbo Pascal (sans parler de l'Asm)...

IMHO bien sûr, mais....

Pour que les crackers comprennent ce qu'est l'asm :)
Il faut tout essayer pour changer, car le programmeur peut résoudre un problème de plusieurs façons à la fois :)
Mais déboguer un programme en Asm est déprimant :)
 
mrProF:

Notez qu'il s'agit de la mise en œuvre, et non du résultat.
Programmons-nous pour le résultat (le programme) ou pour la mise en œuvre du programme ?
Il est possible de se passer de toutes ces méthodes et de s'organiser sur des tableaux et le passage de valeurs.
C'est compliqué, cela prend du temps, mais c'est possible.

Je suis d'accord pour dire que nous pouvons le faire, à condition que le tableau soit dynamique. Mais vous convenez que ce n'est pas une solution très élégante. Il est plus facile de faire cela en assembleur. Et l'OPP est né avant Windows. Et ses idées m'ont aidé à programmer en langage assembleur pour MS/CT. Et mon premier manuel de programmation était le livre en trois volumes de Knuth.
 
FoxRex:
Je suis d'accord, c'est possible, à condition que le tableau soit dynamique. Mais vous devez convenir que ce n'est pas une solution très élégante. C'est plus facile à faire en assembleur. Mais OPP est né avant Windows. Et ses idées m'ont aidé à programmer en langage assembleur pour MS/CT. Et mon premier manuel de programmation était le livre en trois volumes de Knuth.
Je suis d'accord.
Donc, en y réfléchissant, "OOP est pratique" :)

Et aussi : "Si vous n'êtes pas à l'aise avec la POO, ne l'utilisez pas" :)

Deux concepts simples...

 
mrProF:

La POO est une bonne chose pour les grands programmes.
Si le code est inférieur à 50 lignes, vous n'avez pas besoin de la POO.
Mais lorsque le code devient très volumineux, il est presque impossible de comprendre ce qui appartient à quoi, uniquement grâce aux commentaires.
La probabilité d'une erreur augmente lorsque les variables ne sont pas partagées comme prévu ; c'est la pagaille.
En POO, les variables peuvent être stockées dans un conteneur (classe) avec les méthodes (fonctions).

Il n'y a aucune tâche qui peut être écrite en POO et qui ne peut pas être écrite sans POO.
C'est une question de commodité))

La POO n'est pas une méthode de résolution des problèmes, mais une façon de structurer le code.

Vous devez utiliser la POO si le programme devient plus grand que "Hello word".

En général, je connais MQL4 depuis plusieurs années et je ne cesse de m'étonner de sa misère. Le quatrième MQL est aussi éloigné qu'une étoile des capacités du C classique. Dans MQL5, les développeurs ont décidé d'aller de l'avant. Le nombre de fonctionnalités a augmenté et la programmation est devenue plus facile. La langue est devenue plus complexe, oui, mais le produit n'a pas été créé pour des écoliers.

Raison: