Gespräche über die PLO in der Lounge - Seite 18

 
Alexey Volchanskiy:

Beantworten Sie die Fragen, klar und ohne Pionierrotz

1. Welche Parallelisierungstechnologie haben Sie persönlich verwendet? Kein allgemeines Geschwätz, sondern konkrete Namen von Technologien und Sprachen.

1.1 Woran ist Ihre Version von OOP gescheitert?

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

SZZY: Ich habe bereits mehr als 24 Stunden lang OOP unterrichtet, der Moderator schrieb, dass er in dieser Zeit 10 Leute gesperrt und etwa 200 dumme Beiträge gelöscht hat! Sagt, schreibt, es lesen euch schon regelmäßig 40-50 Leute auf einmal, das Thema ist notwendig. Sie müssen eine Speisekarte erstellen - ich helfe Ihnen jederzeit.

Verilog
 
George Merts:

Der OOP-Ansatz wird vom Menschen benötigt, um die Entwicklung und vor allem den Support des Systems zu vereinfachen.

"Das Problem mit OO-Sprachen ist, dass sie auf ihre gesamte Umgebung einwirken. Alles, was du wolltest, war eine Banane, aber am Ende hat ein Gorilla diese Banane in der Hand und den ganzen Dschungel gleich mit."

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

"Das Problem mit OO-Sprachen ist, dass sie auf ihre gesamte Umgebung einwirken. Alles, was du wolltest, war eine Banane, aber am Ende hat ein Gorilla diese Banane in der Hand und den ganzen Dschungel gleich mit."

Das ist richtig. Das ist eine gute Analogie!

Aber ist das ein Problem? Im Gegenteil, es ist ein Vorteil von OOP!

Denn es gibt nicht "nur eine Banane". Für eine Banane braucht man eine Palme, für eine Palme braucht man einen Nährstoffträger und übrigens auch einen Gorilla, der auf die Palme klettert und die Banane holt.

Meiner Meinung nach, und es ist toll, dass Sie nicht darüber nachdenken, aber nehmen Sie genau diese Banane, und essen Sie sie.

P.S.

Ich habe den Artikel gelesen - er sagt alles richtig, aber gerade all diese Argumente überzeugen mich - OOP ist eine großartige Technologie, viel besser als FP. Es ist nur so, dass wir bei der Nutzung einige Regeln befolgen müssen, die wir im RP nicht hätten befolgen sollen. Aber das ist überhaupt kein Grund, OOP abzulehnen. Meiner Meinung nach sind alle Argumente in dem Artikel im Gegenteil Beweis für den Vorteil von OOP, sie warnen nur, dass "wenn ein Messer benutzt wird, vorsichtig sein".

Durch die Verwendung elektrischer statt mechanischer Geräte befolgen Sie auch einige Regeln, die früher nicht erforderlich waren - das stimmt. Aber das ist kein Grund, auf Elektrogeräte zu verzichten!

 

Das Gespräch erinnert mich an einen Sketch aus einer Seifenoper (apropos Weiber, hallo, Wolchansky).

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

Die Ex-Ehefrau bittet den Ex-Ehemann um ein Treffen:

BJ: Stell dir vor, unsere Tochter ist schwanger! Und sie ist erst 19, sie muss studieren, aufs College gehen!!!

BM: Was sagst du da?!!!! Mit wem ist sie schwanger?

Warum weiß das niemand? Ich weiß es nicht... Oh, was wird geschehen, was wird geschehen...

BM: Dieser Schurke versteckt sich und will das Kind nicht anerkennen?

ROB: Nein, er versteckt sich nicht, und stell dir vor, unsere Tochter wird ihn heiraten!!! Was sollen wir tun, sie ist gerade aus der High School !!!!

BM: .... ???

Bj: Warum sagst du nichts, warum sagst du nichts?!!! Verstehst du denn nicht?!! Unsere Tochter ist schwanger!!! und sie heiratet! Verstehst du?!!

BM: Ähm... Ich verstehe... Aber... Ich sehe das Problem hier nicht... Du wurdest schwanger und hast mich mit 18 geheiratet, bekamst sie... Und daran ist nichts auszusetzen...

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

So ist es hier - mir werden große Mängel und Probleme der GOP nachgewiesen, die ich abwesend nicht als Probleme betrachte, sondern viele im Gegenteil als Tugenden...

Wie würden Sie zu diesem Punkt der Erleuchtung, wo Sie sehen können, dass vorsichtig mit einem Messer ist der Nachteil der OOP überwiegt die Vorteile zu bekommen?

 

Dies ist einer der Gründe für die demografische Situation in den "entwickelten" Ländern - zuerst macht man seinen Abschluss, dann arrangiert man sein Leben, zahlt die Hypothek... und dann ist man nicht an Kindern interessiert, solange einen niemand anrührt

 
George Merts:

Denn "nur eine Banane" gibt es nicht. Eine Banane braucht eine Palme, eine Palme braucht einen Nährboden und übrigens auch einen Gorilla, der auf die Palme klettert und die Banane holt.

Meiner Meinung nach, und es ist toll, dass Sie nicht darüber nachdenken, aber nehmen Sie genau diese Banane, und essen Sie sie.

Nein, das ist nicht der Punkt. Nach der Logik des Programms gibt es eine Banane zu essen, aber man muss die Palme und die schwarze Erde mit Dung mitessen.

 
Andrei:

"Das Problem mit OO-Sprachen ist, dass sie auf ihre gesamte Umgebung einwirken. Alles, was du wolltest, war eine Banane, aber am Ende hält ein Gorilla diese Banane und damit den ganzen Dschungel."

Der Artikel lügt!

Was den Besitzer der Basisklasse betrifft, so funktioniert es wie vorgesehen. Und er besteht alle Autotests. Aber der Eigentümer achtet nicht auf die abgeleitete Klasse. Und der Besitzer der abgeleiteten Klasse ist sehr enttäuscht. Jetzt ruft ArrayCount addAll() das übergeordnete addAll() auf, das intern add() aufruft, dessen Kontrolle bereits von der abgeleiteten Klasse überschrieben wurde. Infolgedessen wird der Zähler bei jedem Aufruf von add() der abgeleiteten Klasse inkrementiert und dann erneut um die Anzahl der von addAll() der abgeleiteten Klasse hinzugefügten Elemente erhöht.ITS, ELEMENTS ARE COLLECTED TWO TIMES.

Als ich diese Aussage las, wurde ich sehr zögerlich. Ich drehte mich schnell um, um zu überprüfen, ob mein Kopf nicht durcheinander war:

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);
}

Ich habe die Zeilen hervorgehoben, deren Änderung der Autor des Artikels vorschlägt. Das Ergebnis wird durch ihren Austausch nicht beeinflusst. Den Rest des Artikels habe ich nicht gelesen. Auf den Unsinn des Autors wurde wahrscheinlich in den Kommentaren hingewiesen.

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

Das ist richtig. Eine gute Analogie!

Aber ist das ein Problem? Im Gegenteil, es ist ein Vorteil von OOP!

Was für normale Menschen eine Qual ist, ist für Masochisten eine Freude... :)

 
fxsaber:

Der Artikel lügt!

Welchen Unterschied macht das?

Sie müssen Ihre Behauptung (OOP ist scheiße) begründen - googeln Sie "OOP" und ein paar negative Eigenschaften, suchen Sie einen besseren Artikel, und posten Sie ihn, ohne ihn zu lesen, ins Forum.

Wahr oder nicht wahr - das spielt keine Rolle. Es spielt keine Rolle, ob es wahr ist oder nicht. Wenn es aufmerksame Leute wie Sie gibt, die sich die Mühe machen, ihn zu lesen und zu überprüfen, können Sie einen weiteren Artikel in die gleiche Richtung werfen.

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