Hablando de la OLP en el salón - página 18

 
Alexey Volchanskiy:

Responde a las preguntas, con claridad y sin mocos pioneros

1. ¿Qué tecnología de paralelismo ha utilizado personalmente? No se trata de un discurso general, sino de nombres específicos de tecnologías y lenguajes.

1.1 ¿En qué ha fallado su versión de la POO?

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

¡SZZY: Ya estuve enseñando OOP durante más de 24 horas, el moderador escribió que durante este tiempo baneó a 10 personas y borró unos 200 posts estúpidos! Dice, escribe, ya te están leyendo de forma regular 40-50 personas a la vez, el tema es necesario. Necesidad de hacer un menú - Voy a ayudar en cualquier momento.

Verilog
 
George Merts:

El enfoque OOP es necesario para simplificar el desarrollo y, sobre todo, el soporte del sistema.

"El problema de los lenguajes OO es que tiran de todo su entorno. Todo lo que querías era un plátano, pero acabas con un gorila sosteniendo ese plátano y toda la selva con él".

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

"El problema de los lenguajes OO es que tiran de todo su entorno. Todo lo que querías era un plátano, pero acabas con un gorila sosteniendo ese plátano y toda la selva con él".

Así es. Es una buena analogía.

¿Pero es un problema? Al contrario, ¡es una ventaja de la POO!

Porque no existe "sólo un plátano". Para un plátano - se necesita una palmera, para una palmera - se necesita un medio nutritivo, y por cierto, un gorila que se suba a esa palmera y consiga ese plátano.

En mi opinión, y está muy bien que no pienses en nada de esto, pero coge este mismo plátano, y cómetelo.

P.D.

He leído el artículo - dice todo bien, pero sólo todos estos argumentos me convencen - OOP es una gran tecnología, mucho mejor que FP. Lo que ocurre es que al utilizarlo tenemos que seguir algunas reglas, que no deberíamos haber seguido en FP. Pero eso no es en absoluto una razón para rechazar la OOP. En mi opinión, todos los argumentos del artículo van en sentido contrario demostrando la ventaja de la OOP, sólo advierten que "cuando uses un cuchillo, ten cuidado".

Al utilizar aparatos eléctricos en lugar de mecánicos, también se cumplen algunas normas que antes no se exigían, es cierto. Pero eso no es motivo para renunciar a los aparatos eléctricos.

 

La conversación me recuerda a un sketch de telenovela (hablando de tías, hola, Wolchansky).

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

La ex-mujer llama al ex-marido para una reunión:

BJ: ¡Imagínate, nuestra hija está embarazada! Y sólo tiene 19 años, ¡¡¡tiene que estudiar, ir a la universidad!!!

BM: ¿De qué estás hablando? !!!! ¿De quién está embarazada?

¿Por qué nadie lo sabe? No sé... Oh, qué va a pasar, qué va a pasar...

BM: ¿Este sinvergüenza se esconde y no reconoce al niño?

ROB: No, no se esconde y sólo imagina, ¡¡¡nuestra hija se va a casar con él!!! ¡¡¡¡Qué vamos a hacer, acaba de salir del instituto !!!!

BM: .... ???

Bj: ¡¿Por qué te callas, por qué te callas?! ¿No lo entiendes? ¡¡¡Nuestra hija está embarazada!!! y se va a casar!!! ¿entiendes?!!

BM: Um... Ya veo... Pero... No veo el problema aquí... Te quedaste embarazada y te casaste conmigo cuando tenías 18 años, la tuviste... Y no hay nada malo en ello...

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

Así es aquí, se me demuestran enormes carencias y problemas del GOP que distraídamente no considero problemas, muchos por el contrario, consideran virtudes...

¿Cómo llegarías a ese punto de iluminación en el que puedes ver que tener cuidado con un cuchillo es la desventaja de la OOP supera los pros?

 

Esta es una de las razones de la situación demográfica en los países "desarrollados": primero te gradúas, luego arreglas tu vida, pagas la hipoteca... y luego no te interesan los hijos, mientras nadie te toque

 
George Merts:

Porque "sólo un plátano" no sucede. Un plátano necesita una palmera, una palmera necesita un medio nutritivo y, por cierto, un gorila que se suba a esa palmera y consiga ese plátano.

En mi opinión, y está muy bien que no pienses en nada de esto, pero coge este mismo plátano, y cómetelo.

No, esa no es la cuestión. Hay que comer un plátano según la lógica del programa, pero hay que comer la palma y la tierra negra con estiércol junto con ella.

 
Andrei:

"El problema de los lenguajes OO es que tiran de todo su entorno. Todo lo que querías era un plátano, pero acabas con un gorila sosteniendo ese plátano y toda la selva con él".

¡El artículo miente!

En lo que respecta al propietario de la clase base, funciona como está previsto. Y pasa todas las pruebas automáticas. Pero el propietario no presta atención a la clase derivada. Y el propietario de la clase derivada está muy decepcionado. Ahora ArrayCount addAll() llama al padre addAll(), que internamente llama a add(), cuyo control ya ha sido sobrescrito por la clase derivada. Como resultado, el contador se incrementa cada vez que se llama a add() de la clase derivada, y luego se incrementa de nuevo por el número de elementos añadidos por addAll() de la clase derivada.ES decir, los elementos se recogen dos veces.

Cuando leí esa afirmación, me entraron muchas dudas. Rodó rápidamente para comprobar que mi cabeza no se había estropeado:

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

He destacado las líneas que el autor del artículo sugiere cambiar. El resultado no se ve afectado por su sustitución. No he leído el resto del artículo. Seguramente en los comentarios se ha señalado la tontería del autor.

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

Así es. ¡Buena analogía!

¿Pero es un problema? Al contrario, ¡es una ventaja de la POO!

Lo que es un tormento para la gente normal es una alegría para los masoquistas... :)

 
fxsaber:

¡El artículo miente!

¿Qué diferencia hay?

Necesitas argumentar tu afirmación (OOP apesta) - busca en Google "OOP" y un par de cualidades negativas, coge un artículo mejor y lánzalo al foro sin leerlo.

Cierto o no cierto, no importa. No importa si es verdad o no. Si hay personas atentas como tú que se molestan en leerlo y comprobarlo, puedes lanzar otro artículo de la misma manera.

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