Programmation OOP vs programmation procédurale - page 22

 
Nikolay Ivanov:

Le fait que tous les systèmes modernes utilisent la POO n'est pas une preuve de supériorité ? Vous n'êtes pas prêt à comprendre, vous posez des questions simples et ne pouvez pas accepter une réponse complexe... et vous pensez qu'il n'y a pas de réponse... Eh bien, ce n'est pas juste...


L'état d'esprit change, oui, et au début, ça semble être pour quoi faire ? Mais lorsque le projet devient un lot de milliers de lignes de code, vous commencez à en récolter les fruits)) et à comprendre pourquoi et pour quoi tout cela a été fait)).


Si un projet est difficile et coûteux à maintenir et à mettre à jour, et coûteux et cher à étendre, et qu'un autre est rapide et facile, le premier mourra - c'est une sélection naturelle.

Il y a plusieurs milliers de lignes de code dans mon programme aussi. L'absence d'entités inutiles est salvatrice pour moi. Je n'aurais pas pu le développer autrement. C'est la pratique la plus pure.

Mais assez de ça. Je quitte ce fil.

 
Nikolay Ivanov:

1. le fait que tous les systèmes modernes utilisent la POO n'est pas une preuve de supériorité ?

2. Vous n'êtes tout simplement pas prêt à comprendre, vous posez des questions simples et ne pouvez pas saisir la réponse complexe... et pensez qu'il n'y a pas de réponse... Ce n'est pas juste.


Quand votre état d'esprit change, oui, et au début vous vous demandez pourquoi. Mais lorsque le projet devient un lot de milliers de lignes de code, vous commencez à en récolter les fruits)) et à comprendre pourquoi et pour quoi tout cela a été fait)).


Si un projet est difficile et coûteux à maintenir et à mettre à jour, et qu'un autre est rapide et facile à mettre en œuvre, le premier mourra - c'est la sélection naturelle.


1) Tout le monde ici est si cool, que ce ne sera pas une preuve pour eux, mais au contraire, la preuve qu'ils sont tous si cool d'eux-mêmes, et tous autour sont des pigeons tristes - ils sont tombés pour OOP.

2. très anecdotique, mais ils ne s'en rendent pas compte.

 
Alexey Volchanskiy:


De même que pour ce sujet ;)) Il y a longtemps, j'étais abonné au magazine Popular Mechanics, il y avait une page d'humour

Leo était sur le sentier de la guerre un jour. Donc il se promène, tout en étant flagrant. Il rencontre un renard. Fox, vite, qui est le roi des bêtes ?

- Leva, bien sûr que tu l'es !

Satisfait, il a continué.

Il a rencontré le lièvre, même résultat.

Il a rencontré l'éléphant. Et l'éléphant était chaud, il a juste agité sa trompe pour éviter les mouches et le lion s'est envolé.

Et tu sais ce qu'il a dit à l'éléphant qui partait, assis dans les buissons ?

- Et ne vous énervez pas si vous ne connaissez pas les réponses).


A propos du hérisson :

" Le hérisson est debout dans la clairière, il prend la pose, il fait jouer ses biceps : - Je suis fort, je suis courageux, je suis agile, je suis fort, je suis courageux, je suis agile...

Un ours passe par là - lui donne un coup de pied, le hérisson s'envole derrière l'arbre, se relève et se secoue :

- Je suis fort, je suis courageux, je suis agile... Mais je suis facile...

 
Реter Konow:

Mais assez parlé de ça. Je quitte ce sujet.


Le fait que tu ne fasses pas confiance aux autres et que tu veuilles comprendre par toi-même est même une bonne chose, les autres peuvent se tromper, certaines choses sont plus faciles à obtenir par soi-même


Dmitry Fedoseev:

1. tout le monde ici est si cool que pour eux, ce ne sera pas une preuve, mais plutôt une confirmation qu'ils sont tous si cool d'eux-mêmes, qu'ils savent comment faire et qu'ils sont tous de tristes idiots - ils sont tombés pour l'OLP.

2) Très anecdotiquement, mais ils ne s'en rendent pas compte.


))) C'est amusant de voir comment des personnes qui ne comprennent pas grand-chose vendent des conseillers experts en marché pour 10 000 $ ou des signaux avec 2 000 abonnés et gagnent beaucoup d'argent ;)

 
Dmitry Fedoseev:

Ce n'est pas l'argument principal.

Il n'existe pas d'analogue du polymorphisme dans la programmation procédurale.

Comment se fait-il qu'il n'y soit pas, si vous avez vous-même plusieurs pages plus tôt mentionné les pointeurs de fonction ? C'est l'analogue même du polymorphisme, avec des possibilités beaucoup plus vastes, car vous pouvez le modifier dynamiquement.

 

On dirait que vous avez manqué le bavardage :-) les modérateurs ont mis un frein aux sujets enflammés ... mais ici c'est OOP vs.

D'ailleurs, 99% du travail de @Peter Konow utilise la POO, mais il n'en est pas conscient :-) La POO n'est pas nécessairement "classe et modèle".

et vice versa aussi...la présence d'objets et de classes dans un programme n'est pas une indication de POO

 
Alexey Navoykov:

Comment ne pas le faire, alors que vous avez vous-même mentionné les pointeurs de fonction quelques pages plus tôt ? C'est l'analogue même du polymorphisme, avec des possibilités beaucoup plus larges, car il peut être modifié dynamiquement.

C'était hier, alors que j'avais une meilleure opinion de l'opposition. Les pointeurs vers les fonctions dans MQL sont apparus récemment, mais aujourd'hui il s'est avéré que pour tous les arguments, ils n'existent pas du tout. Il s'avère qu'ils ne savent pas du tout sur quoi ils se disputent. Je suis sûr qu'ils ont juste manqué les mots"polymorphisme" et "pointeurs" dans leurs yeux et leurs oreilles. Ils n'ont qu'un seul argument - "vous n'avez cité aucune preuve", même s'ils en voient 1000 ici.

Vous pouvez également modifier les pointeurs vers les classes de manière dynamique. La seule chose plus simple avec les fonctions est que vous n'avez pas à les créer au préalable.

 
Реter Konow:

Par efficacité de la solution, j'entends la qualité de la solution à laquelle le mécanisme - et le logiciel est sans aucun doute un mécanisme - fonctionnera de la manière la plus stable. Le mécanisme doit être clair, cohérent et productif. La fonctionnalité du moteur doit mettre en œuvre toutes les tâches qui lui sont assignées. Le mécanisme n'accepte pas le superflu et dans le développement de ce mécanisme, le superflu doit être coupé.

Seulement dans votre cas, ce "superflu" est le contrôle de type et d'autres choses fondamentales qui sont censées protéger le code contre les erreurs de programmation accidentelles. C'est pourquoi votre code devient très peu fiable. Il n'y a aucune stabilité. Même si vous l'avez débogué et nettoyé, de nouvelles modifications provoqueront des erreurs difficiles à trouver et à corriger.

 

Il ne fait aucun doute que la POO contient un grand nombre d'outils supplémentaires qu'un développeur peut utiliser. Cependant, il faut comprendre le prix à payer pour utiliser ces outils. À savoir, vous devez vous immerger dans le paradigme de la POO et la structuration du code qui lui correspond. Utiliser toute la boîte à outils de la POO et créer de nombreux objets. Le prix principal réside dans la forte complication du code. Cependant, la pratique montre que du point de vue de l'efficacité des mécanismes créés, ils doivent être simples et la présence de toute entité dans ces mécanismes doit être absolument prouvée par l'augmentation de l'efficacité et rien de plus.

 
Alexey Navoykov:

Seulement dans votre cas, ce "plus" est le contrôle des types et d'autres éléments fondamentaux destinés à protéger votre code contre les erreurs de programmation accidentelles. C'est pourquoi votre code devient très peu fiable. Il n'y a aucune stabilité. Même si vous l'avez débogué et nettoyé, de nouvelles modifications provoqueront des erreurs difficiles à trouver et à corriger.

C'est possible. Nous verrons bien. Jusqu'à présent, il n'y a pas eu de telles difficultés.