Parler de l'OLP dans le salon - page 18

 
Alexey Volchanskiy:

Répondez aux questions, clairement et sans morve de pionnier

1. Quelle technologie de mise en parallèle avez-vous personnellement utilisée ? Pas de blabla général, mais des noms spécifiques de technologies et de langages.

1.1 En quoi votre version de la POO a-t-elle échoué ?

------------

SZZY : J'ai enseigné OOP pendant plus de 24 heures déjà, le modérateur a écrit que pendant ce temps il a banni 10 personnes et supprimé environ 200 messages stupides ! dit écrire, il ya déjà vous lire sur une base régulière 40-50 personnes à la fois, le thème est nécessaire. Vous avez besoin de faire un menu - je peux vous aider à tout moment.

Verilog
 
George Merts:

L'approche OOP est nécessaire à l'homme pour simplifier le développement, et plus important encore, le support du système.

"Le problème des langages OO est qu'ils tirent sur tout leur environnement. Tout ce que tu voulais, c'était une banane, mais tu te retrouves avec un gorille qui tient cette banane et toute la jungle avec."

Прощай, объектно-ориентированное программирование
Прощай, объектно-ориентированное программирование
  • 2005.08.16
  • habrahabr.ru
Я в течение десятилетий программировал на объектно-ориентированных языках. Первым из них стал С++, затем был Smalltalk, и наконец .NET и Java. Я фанатично использовал преимущества наследования, инкапсуляции и полиморфизма, этих трёх столпов парадигмы объектно-ориентированного программирования. Мне очень хотелось воспользоваться обещанным...
 
Andrei:

"Le problème des langages OO est qu'ils tirent sur tout leur environnement. Tout ce que tu voulais, c'était une banane, mais tu te retrouves avec un gorille qui tient cette banane et toute la jungle avec."

C'est vrai. C'est une bonne analogie !

Mais est-ce un problème ? Au contraire, c'est un avantage de la POO !

Parce que "juste une banane", ça n'existe pas. Pour une banane - il faut un palmier, pour un palmier - il faut un milieu nutritif, et, au passage, un gorille qui grimpe sur ce palmier et obtient cette banane.

À mon avis, et c'est très bien que vous ne pensiez pas à tout cela, mais prenez cette banane et mangez-la.

P.S.

J'ai lu l'article - il dit tout ce qu'il faut, mais tous ces arguments me convainquent - la POO est une grande technologie, bien meilleure que la PF. C'est juste qu'en l'utilisant, nous devons suivre certaines règles, que nous n'aurions pas dû suivre en PC. Mais ce n'est pas du tout une raison pour rejeter la POO. A mon avis, tous les arguments de l'article prouvent au contraire l'avantage de la POO, ils avertissent juste que "quand on utilise un couteau, il faut faire attention".

En utilisant des appareils électriques au lieu d'appareils mécaniques, vous suivez également certaines règles, qui n'étaient pas nécessaires auparavant - c'est vrai. Mais ce n'est pas une raison pour renoncer aux appareils électriques !

 

La conversation me fait penser à un sketch d'un feuilleton (en parlant de gonzesses, bonjour, Wolchansky).

-------------------------------------

L'ex-femme appelle l'ex-mari pour une réunion :

BJ : Tu imagines, notre fille est enceinte ! Et elle n'a que 19 ans, elle doit étudier, aller à l'université ! !!

BM : De quoi parlez-vous ? ! !!! De qui est-elle enceinte ?

Pourquoi personne ne sait ? Je ne sais pas... Oh, que va-t-il se passer, que va-t-il se passer...

BM : Cette crapule se cache et ne veut pas reconnaître l'enfant ?

ROB : Non, il ne se cache pas et imaginez un peu, notre fille va l'épouser ! !! Qu'est-ce qu'on va faire, elle vient juste de sortir du lycée ! !!!

BM : .... ? ??

Bj : Pourquoi es-tu silencieux, pourquoi es-tu silencieux ? !!! Vous ne comprenez pas ? !!! Notre fille est enceinte ! !! et elle va se marier ! !! comprendre ? !!!!

BM : Hum... Je vois... Mais... Je ne vois pas le problème ici... Tu es tombée enceinte et tu m'as épousé quand tu avais 18 ans, tu l'as eue... Et il n'y a rien de mal à ça...

-------------------------------------

C'est comme ça ici - on me prouve les énormes défauts et problèmes du GOP que, distraitement, je ne considère pas comme des problèmes, beaucoup au contraire, considèrent comme des vertus...

Comment pouvez-vous arriver à ce point d'illumination où vous pouvez voir qu'être prudent avec un couteau est l'inconvénient de la POO qui l'emporte sur les avantages ?

 

C'est l'une des raisons de la situation démographique dans les pays "développés" - d'abord vous êtes diplômé, ensuite vous organisez votre vie, payez l'hypothèque... et ensuite vous n'êtes pas intéressé par les enfants, tant que personne ne vous touche...

 
George Merts:

Parce que "juste une banane", ça n'arrive pas. Une banane a besoin d'un palmier, un palmier a besoin d'un milieu nutritif et, au passage, un gorille qui grimpe sur ce palmier et obtient cette banane.

À mon avis, et c'est très bien que vous ne pensiez pas à tout cela, mais prenez cette banane et mangez-la.

Non, ce n'est pas la question. Il y a une banane à manger selon la logique du programme, mais il faut manger avec elle le palmier et la terre noire avec le fumier.

 
Andrei:

"Le problème des langages OO est qu'ils tirent sur tout leur environnement. Tout ce que tu voulais, c'était une banane, mais tu te retrouves avec un gorille qui tient cette banane et toute la jungle avec."

L'article ment !

En ce qui concerne le propriétaire de la classe de base, cela fonctionne comme prévu. Et il passe tous les autotests. Mais le propriétaire ne fait pas attention à la classe dérivée. Et le propriétaire de la classe dérivée est fortement déçu. Maintenant, ArrayCount addAll() appelle le parent addAll(), qui appelle en interne add(), dont le contrôle a déjà été surchargé par la classe dérivée. Par conséquent, le compteur est incrémenté chaque fois que add() de la classe dérivée est appelé, puis il est à nouveau incrémenté du nombre d'éléments ajoutés par addAll() de la classe dérivée.ITS, LES ÉLÉMENTS SONT COLLECTIVÉS DEUX FO IS.

Quand j'ai lu cette déclaration, j'ai été très hésitant. J'ai roulé rapidement pour vérifier que ma tête n'était pas en désordre :

class ArrayList
{
public:
  void add( int )
  {
    Print(__FUNCSIG__);
  }  
};

class Array
{
private:
  ArrayList a;

public:      
  void add( int element )
  {
    Print(__FUNCSIG__);
    this.a.add(element);
  }
 
  void addAll( const int &elements[] )
  {
    for (int i = 0; i < ArraySize(elements); i++)
//      this.a.add(elements[i]);
      add(elements[i]);
  }
};

class ArrayCount : public Array
{
public:
  int count;

  ArrayCount() : count(0)
  {
  }

  void add( int element )
  {
    Array::add(element);
    
    ++this.count;
  }
    
  void addAll( const int &elements[] )
  {
    Array::addAll(elements);
    count += ArraySize(elements);
  }
};

void OnStart()
{  
  int Tmp[5];
 
  ArrayCount Count;
 
  Count.addAll(Tmp);
  Print(Count.count);
}

J'ai souligné les lignes que l'auteur de l'article suggère de modifier. Le résultat n'est pas affecté par leur remplacement. Je n'ai pas lu le reste de l'article. L'absurdité de l'auteur a probablement été signalée dans les commentaires.

Прощай, объектно-ориентированное программирование
Прощай, объектно-ориентированное программирование
  • 2005.08.16
  • habrahabr.ru
Я в течение десятилетий программировал на объектно-ориентированных языках. Первым из них стал С++, затем был Smalltalk, и наконец .NET и Java. Я фанатично использовал преимущества наследования, инкапсуляции и полиморфизма, этих трёх столпов парадигмы объектно-ориентированного программирования. Мне очень хотелось воспользоваться обещанным...
 
George Merts:

C'est vrai. Bonne analogie !

Mais est-ce un problème ? Au contraire, c'est un avantage de la POO !

Ce qui est un supplice pour les gens normaux est une joie pour les masochistes... :)

 
fxsaber:

L'article ment !

Quelle différence cela fait-il ?

Vous devez argumenter votre affirmation (la POO est nulle) - cherchez sur Google "POO" et quelques qualités négatives, trouvez un meilleur article, et sans le lire, postez-le sur le forum.

Vrai ou faux, cela n'a pas d'importance. Peu importe si c'est vrai ou non. S'il y a des gens attentifs comme vous qui prendront la peine de le lire et de le vérifier, vous pouvez lancer un autre article de la même manière.

 
Я — функциональщик. Прекрасно себя чувствую. Это ты от ООП такой раздражительный.