Höyükte OOP hakkında konuşun - sayfa 18

 
Alexey Volchanskiy :

Soruları net ve öncü bir sümük olmadan yanıtlayın

1. Kişisel olarak hangi paralelleştirme teknolojisini kullandınız? Sadece genel meleme değil, belirli teknoloji ve dil adları.

1.1 OOP sürümünüz nerede başarısız oldu?

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

Not: Bir günden fazla bir süredir OOP kursu yürütüyorum, moderatör bu süre zarfında 10 kişiyi yasakladığını, yaklaşık 200 aptal gönderiyi ovuşturduğunu yazdı! Yaz diyor burada 40-50 kişi aynı anda sizi sürekli okuyor, konu lazım. Bir menü yapmalıyız - ne zaman istersen yardım ederim.

verilog
 
George Merts :

OOP yaklaşımı - bir kişinin geliştirmeyi ve en önemlisi sistemin desteğini basitleştirmesi gerekir.

"OO dilleriyle ilgili sorun, tüm çevrelerini kendileriyle birlikte sürüklemeleridir. Siz sadece bir muz istediniz, ancak sonuç, o muzu ve tüm ormanı tutan bir gorildir ."

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

"OO dilleriyle ilgili sorun, tüm çevrelerini kendileriyle birlikte sürüklemeleridir. Siz sadece bir muz istediniz, ancak sonuç, o muzu ve tüm ormanı tutan bir gorildir ."

Pekala. İyi benzetme!

Bu sadece bir sorun mu? Tam tersi, OOP'nin avantajı!

Çünkü "sadece bir muz" - olmaz. Bir muz için - bir palmiye ağacı olması gerekir, bir palmiye ağacı için - bir besin ortamına ihtiyaç vardır ve bu arada, bu palmiye ağacına tırmanacak ve bu muzu alacak bir goril.

Bence bu konuda hiçbir şey düşünmemeniz harika, ama bu muzu alın ve yiyin.

not

Bir makale okudum - orada her şey doğru söyleniyor, ancak tüm bu argümanlar beni ikna ediyor - OOP mükemmel bir teknoloji, FP'den çok daha iyi. Sadece onu kullanırken, AF ile uymanız gerekmeyen bazı kurallara uymanız gerekiyor. Ancak bu, OOP'yi hiç terk etmek için bir neden değil. Bence, makaledeki tüm argümanlar - tam tersi, OOP'nin avantajını kanıtlıyor, sadece "bıçak kullanarak - dikkatli olmayı unutmayın" konusunda uyarın.

Mekanik olanlar yerine elektrikli aletleri kullanmak - daha önce gerekli olmayan bazı kurallara da uyuyorsunuz - bu doğru. Ancak bu, elektrikli aletleri terk etmek için bir neden değil!

 

Konuşma bana bir diziden bir sahneyi hatırlatıyor (bu arada, kadınlar hakkında, merhaba, Volchansky).

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

Eski eş, eski kocasını toplantıya çağırır:

BJ: Kızımızın hamile olduğunu hayal edebiliyor musunuz? Ve o sadece 19 yaşında, üniversiteye girmek için okuması gerekiyor !!!

BM: Neyden bahsediyorsun?!!! Ve kimden bilinmiyor?

BJ: Neden bilinmiyor? Bilinir... Ah, ne olacak, ne olacak...

BM: Bu alçak saklanıyor ve çocuğu tanımıyor mu?

BJ: Hayır, saklanmıyor ve hayal edebiliyor musunuz, kızımız onunla evlenecek !!! Şimdi ne yapmalı, okulu yeni bitirdi !!!

BM: .... ???

BZ: Peki, neden sessizsin, neden sessizsin?!!! Anlamıyor musun ?!!! Kızımız hamile!!! Ve evlendim!!! Anlamak ?!!!

BM: Ah... Anlıyorum... Ama... Burada bir sorun görmüyorum... Hamile kaldın ve benimle 18 yaşında evlendin, onu doğurdun... Ve korkunç bir şey olmadı...

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

İşte burada - bana OOP'nin büyük eksikliklerini ve problemlerini kanıtlıyorlar, ki ben açıkçası sorunları dikkate almıyorlar, çoğu, aksine, avantajları düşünüyorum ...

Bir bıçakla dikkatli olmanın bir dezavantaj olduğunu, OOP'nin eksilerinin artılarından daha ağır bastığını görürken kişi böyle bir aydınlanmaya nasıl ulaşabilir?

 

bu arada, "gelişmiş" ülkelerdeki demografik durumun nedenlerinden biri de budur - önce öğrenmeyin, sonra hayatınızı düzenleyin, ipoteği ödeyin .. ve sonra hiç kimse dokunmazsa, hiçbir çocukla ilgilenmiyorsunuz.

 
George Merts :

Çünkü "sadece bir muz" - olmaz. Bir muz için - bir palmiye ağacı olması gerekir, bir palmiye ağacı için - bir besin ortamına ihtiyaç vardır ve bu arada, bu palmiye ağacına tırmanacak ve bu muzu alacak bir goril.

Bence bu konuda hiçbir şey düşünmemeniz harika, ama bu muzu alın ve yiyin.

Hayır, mesele farklı. Programın mantığına göre yemeniz gereken bir muz var ama onunla birlikte hem palmiye ağaçlarını hem de kara toprağı gübreli gübrelerle birlikte yemeniz gerekiyor.

 
Andrei :

"OO dilleriyle ilgili sorun, tüm çevrelerini kendileriyle birlikte sürüklemeleridir. Siz sadece bir muz istediniz, ancak sonuç, o muzu ve tüm ormanı tutan bir gorildir ."

Makale yalan söylüyor!

Temel sınıfın sahibine gelince, belirtildiği gibi çalışır. Ve tüm otomatik testlerden geçer. Ancak sahibi türetilmiş sınıfa dikkat etmez. Ve türetilmiş sınıfın sahibi çok hayal kırıklığına uğradı. Şimdi ArrayCount'un addAll() işlevi , türetilmiş sınıf tarafından zaten HELD olan dahili olarak add () öğesini çağıran ebeveynin addAll() öğesini çağırır . Sonuç, türetilmiş sınıfın add() işlevi her çağrıldığında sayacın artırılması ve ardından türetilmiş sınıfın addAll() tarafından eklenen öğelerin sayısı kadar TEKRAR artırılmasıdır . yani, elemanlar iki kez sayılır .

Bu açıklamayı okuduğumda çok fazla şüpheye düştüm. Kafamın dağınık olmadığını kontrol etmek için hızla fırladım:

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

Makalenin yazarının değiştirmeyi önerdiği satırları vurguladım. Bunların değiştirilmesi sonucu etkilemez. Yazıyı daha okumadım. Büyük olasılıkla, yazarın bu saçmalığı hemen yorumlarda belirtildi.

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

Pekala. İyi benzetme!

Bu sadece bir sorun mu? Tam tersi, OOP'nin avantajı!

Normal insanlar için azap olan, mazoşistler için neşedir.. :)

 
fxsaber :

Makale yalan söylüyor!

Kimin umrunda?

İfadenizi tartışmanız gerekiyor (OOP atstoy) - Google'a gidin, "OOP" ve birkaç olumsuz nitelikle sürün, bir sel gibi bir makale alın ve okumadan foruma atın.

Doğru ya da doğru değil, önemli değil. Uygulanır veya uygulanmaz - önemli değil. Sizin gibi dikkatli okuyup kontrol eden varsa bir yazı daha atabilirsiniz.

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