Une question pour les experts de la POO. - page 12

 
Я !!! Il a fait une chose géniale ! que personne ne voulait, d'une façon géniale ! que personne ne voulait.
 
TheXpert:
Я !!! Il a fait une chose géniale ! que personne ne voulait, d'une façon géniale ! que personne ne voulait.
On est en 2019... Il y a certainement plus de 500 ans, quelqu'un a trollé Léonard de Vinci d'une manière similaire. )))
 
Georgiy Merts:

Un exemple a déjà été donné ci-dessus - une erreur s'est produite, pour une raison quelconque la variable est incorrectement modifiée. Et on accède à cette variable à partir d'un tas d'endroits dans le programme. Comment attraper un lieu où l'erreur ? Avec l'encapsulation OOP, c'est très simple - nous mettons un point d'arrêt dans la fonction d'interface qui modifie la variable, et dès qu'une modification incorrecte se produit - nous nous arrêtons et voyons immédiatement, par la hiérarchie d'appel, où la modification incorrecte a été faite.Et avec votre approche, Peter, nous devons fouiller dans tout le code, en cherchant tous les endroits où cette variable est accédée, en mettant des points d'arrêt partout et en analysant tous les appels, pas seulement les appels incorrects.

Eh bien, en fait, les débogueurs permettent de suivre les changements de variables, et de s'arrêter en cas de modification (je ne sais pas pour µl), mais ce n'est pas un argument en général.


En général, je ne comprends pas ce que vous faites ici ? Peter, en créant des circuits numériques, l'auteur pense-t-il à la structure exacte des amplificateurs opérationnels, des éléments logiques ? Non, il prend simplement des blocs prêts à l'emploi et les utilise pour construire votre ordinateur, par exemple, pour vous éviter de devoir alimenter manuellement certains circuits pour l'allumer ; vous avez un simple bouton sans détails. Vous pouvez également prendre cet ordinateur et mettre en place une surveillance vidéo, par exemple (sans rien connaître du tout aux amplificateurs opérationnels). Il en va de même pour le codage : nous créons des blocs avec une interface simple, à partir desquels nous construisons à nouveau des blocs avec une interface simple. Cela permet une complication constante sans s'embarrasser de détails. Et toutes sortes de constructions linguistiques permettent de s'assurer qu'on n'entre pas dans l'objet par l'arrière. Je pense que tu seras d'accord quand tu en auras marre de ton propre code et que tu voudras tout réécrire (c'est étrange que l'envie ne soit pas encore venue. Au début, j'en avais envie une fois par semaine).

Et n'essayez pas de créer une hiérarchie de tout à partir de tout (je suis passé par là), ce n'est pas du tout nécessaire (comme cette idée absurde - toutes les entités d'un programme doivent être liées). Et oop n'est pas synonyme de polymorphisme avec fonctions virtuelles, ce qui est l'impression que l'on a en lisant de nombreux livres.

 
Реter Konow:
On est en 2019... Il y a plus de 500 ans, quelqu'un s'est sûrement moqué de Léonard de Vinci de la même manière. )))

Peter, qu'en est-il du moteur graphique ? Quelles nouvelles ?

 
Les nouvelles inventions ne peuvent pas être assemblées à partir des blocs de quelqu'un d'autre. Si vous empruntez toujours celui de quelqu'un d'autre, il dominera et vous empêchera d'inventer quoi que ce soit. Il y a l'ambition du développeur, de l'inventeur, de l'innovateur, qui a besoin de protéger son domaine de travail des idées des autres afin de créer quelque chose de nouveau.
 
Vasiliy Sokolov:

Peter, qu'en est-il du moteur graphique ? Quelles nouvelles ?

Oui, tout va bien. Tout fonctionne. Seule la motivation pour un développement ultérieur a disparu. Personne ici n'en a besoin. Je l'ai eu juste après la première publication dans la base de code. J'ai eu une révélation.))
 
Реter Konow:
Les nouvelles inventions ne peuvent pas être assemblées à partir des blocs de quelqu'un d'autre. Si vous empruntez toujours celui de quelqu'un d'autre, il dominera et vous empêchera d'inventer quoi que ce soit. Il y a l'ambition du développeur, de l'inventeur, de l'innovateur, qui a besoin de protéger son domaine de travail des idées des autres afin de créer quelque chose de nouveau.

Alors, il vaut mieux commencer par fabriquer sa propre électricité, son propre ordinateur, son propre système d'exploitation et son propre langage, et c'est là que le moteur entre en jeu ! L'algorithme est intéressant, mais il n'est peut-être pas assez vivant.

 
Vict:

Eh bien, alors il vaut mieux commencer par l'autoproduction d'électricité, son propre ordinateur, son système d'exploitation, son langage, et là déjà écrire le moteur ! L'algorithme est intéressant, mais il ne durera peut-être pas toute une vie.

La vie n'est définitivement pas suffisante. Il s'agit donc de choisir son propre site. Pour moi, c'est une approche de programmation. Tout ce qui est en dessous (électricité, ordinateur, langue) est accepté. Mais l'approche elle-même est ma plate-forme. Objectif, tester le potentiel de l'idée du noyau-mouvement dans le développement de programmes. La macro-tâche est de parvenir à l'auto-développement des logiciels. Je ne sais pas si c'est réaliste, mais l'IA est certainement possible.


ZS. Et ne les laissez pas penser que s'ils ne veulent pas de mon travail ici, alors j'ai abandonné, j'ai pleuré et je suis devenu un perdant).

 
Реter Konow:
Les nouvelles inventions ne peuvent pas être assemblées à partir des blocs de quelqu'un d'autre. Si vous empruntez toujours celui de quelqu'un d'autre, il dominera et vous empêchera d'inventer quoi que ce soit. Il y a l'ambition du développeur, de l'inventeur, de l'innovateur, qui a besoin de protéger son domaine de travail des idées des autres afin de créer quelque chose de nouveau.
D'où tu sors ça ? Vous avez besoin d'un tableau dynamique. Oups, et vous ne pouvez pas l'avoir en c/s++. Autrement dit, lorsque vous augmentez la taille, vous devez allouer un morceau de mémoire dont vous avez besoin, le copier de l'ancien espace vers le nouveau, libérer l'ancien espace. Nous commençons donc à décrire tout numériquement et obtenons une sortie assez similaire à std::vector, alors à quoi bon tout ce bump si nous avons déjà tout cela ? C'est le but des bibliothèques, ne pas inventer le même vélo encore et encore).
 
Vladimir Simakov:
Qu'est-ce qui vous fait dire ça ? Vous avez besoin d'un tableau dynamique. Oups, tu ne peux pas faire ça en c/s++. En d'autres termes, lorsque vous augmentez la taille, vous devez allouer un morceau de mémoire nécessaire, le copier de l'ancien au nouvel emplacement et libérer l'ancien espace. Nous commençons donc à décrire tout numériquement et obtenons une sortie assez similaire à std::vector, alors à quoi bon tout ce bump si nous avons déjà tout cela ? C'est le but des bibliothèques, ne pas inventer le même vélo encore et encore.
Utilisons des choses utiles.
Raison: