OOP vs prosedürel programlama - sayfa 28

 
Реter Konow :
Bu, 30'dan fazla elementten sadece biri. Üstelik en küçüklerinden biri. Ama şaşırtıcı olan şey, onu açık bir kitap gibi okudum. Neyin ne olduğunu açıklamakta zorluk çekmiyorum. Bir başka garip şey de, benzer öğelerin çok hızlı bir şekilde, diğer benzer öğelerin kopyala-yapıştır kullanılarak ve bazı değişiklikler yapılarak oluşturulmasıdır. Korkunç görünüyor, ama aslında çok kolay.

Eh, bir kez daha kanıtlıyor ki, mükemmel hafızanızla - bir sınıf sistemi oluşturma ve kapsülleme ile uğraşamazsınız. Gerçekten de, her şeye global olarak ve polimorfizm ile herhangi bir fonksiyon aşırı yüklemesi olmadan erişilebilir.

Bence nesne gerçekten çok karmaşık.

 
Реter Konow :
Bu, 30'dan fazla elementten sadece biri. Üstelik en küçüklerinden biri. Ama şaşırtıcı olan şey, onu açık bir kitap gibi okudum. Neyin ne olduğunu açıklamakta zorluk çekmiyorum. Bir başka garip şey de, benzer öğelerin çok hızlı bir şekilde, diğer benzer öğelerin kopyala-yapıştır kullanılarak ve bazı değişiklikler yapılarak oluşturulmasıdır. Korkunç görünüyor, ama aslında çok kolay.

Pek çok farklı şey... Muhtemelen gerekli ve belirlenen hedeflere tekabül ediyor... Peki amaç ve hedefler neler?

Grafiklerin birkaç ekran görüntüsünü, son haliyle nasıl göründüğünü görmek ilginç olurdu.

 
George Merts :

Eh, bir kez daha kanıtlıyor ki, mükemmel hafızanızla - bir sınıf sistemi oluşturma ve kapsülleme ile uğraşamazsınız. Gerçekten de, her şeye global olarak vepolimorfizm ile herhangi bir fonksiyon aşırı yüklemesi olmadan erişilebilir.

Bence nesne gerçekten çok karmaşık.

tartışmayacağım. Belki bir şeyi kanıtlamaya çalışırken yargılarımın öznel olduğunu unutuyorum. Bu nedenle, yaklaşım seçiminiz sizin için benimkinden daha makul ve benimki de sizinkinden daha makul.

Konu benim için bitmiştir.

İşe geri dön, herkese iyi şanslar.

 
Олег avtomat :

Pek çok farklı şey... Muhtemelen gerekli ve belirlenen hedeflere tekabül ediyor... Peki amaç ve hedefler neler?

Grafiklerin birkaç ekran görüntüsünü, son haliyle nasıl göründüğünü görmek ilginç olurdu.

Bunu görmek zor değil.
 

Lütfen gücenmeyin, ama bu bir tür sürrealizm kutlaması.

Bir mikro ev için 10 kutu kibriti kontrol etme yeteneği, gökdelenler inşa etmeye karşıdır.

MQL4 hakkında kendi kendini destekleyen ve referans veren ifadeler forumlarda bu şekilde daha kolay doğar, MQL5 ise çok, çok zordur. Profesyonel geliştiriciler bu tür tartışmalara girmezler.

 
Реter Konow :
Bunu görmek zor değil.

Göstermek.

 
Renat Fatkhullin :

Lütfen gücenmeyin, ama bu bir tür sürrealizm kutlaması.

Bir mikro ev için 10 kutu kibriti kontrol etme yeteneği, gökdelenler inşa etmeye karşıdır.

MQL4 hakkında kendi kendini destekleyen ve referans veren ifadeler forumlarda bu şekilde daha kolay doğar, MQL5 ise çok, çok zordur. Profesyonel geliştiriciler basitçe bu tür tartışmalara girmezler.


Burada tamamen katılıyorum.

Verilen kod örneğinin dışarıdan başka bir geliştirici veya kendiniz için uygunluğu ve okunabilirliği, ancak bir süre sonra 0'a eşittir.

 
Renat Fatkhullin :

Lütfen gücenmeyin, ama bu bir tür sürrealizm kutlaması.

Bir mikro ev için 10 kutu kibriti kontrol etme yeteneği, gökdelenler inşa etmeye karşıdır.

MQL4 hakkında kendi kendini destekleyen ve referans veren ifadeler forumlarda bu şekilde daha kolay doğar, MQL5 ise çok, çok zordur. Profesyonel geliştiriciler bu tür tartışmalara girmezler.

Yaklaşımımın gerçeküstü görünebileceğini kişisel olarak anlıyorum. Bu kesinlikle klasik anlamda profesyonel bir gelişim değil, daha özgür yaratıcılıktır. İlk bakışta, verilen örnek korkunç görünüyor, ancak programlama eğitimimizin başında kod bize böyle görünüyordu. Bu yaklaşımda ustalaşmanın ve bu yaklaşımla çalışmanın zorluğu aynı zamanda OOP örneğinde olduğu gibi ustalaşmaya da bağlıdır. Performansını bir kişi örneğinde değerlendirmek zordur. Komut işe yaradıysa, sonuç çıkarmak mümkün olurdu. Ben yalnızken.
 

Aslında, FKÖ karşıtları ana mesajlarında haklılar:

  1. OOP'nin resmi bilgisi, yazılım geliştirmede avantaj sağlamaz.
  2. OOP tek başına karmaşık bir sistemin hiçbir sorununu çözmez.
  3. OOP uygulamasındaki karmaşıklık hiçbir yere gitmez, programdaki bir yerden diğerine basitçe aktarılır.

OOP, mınçıkalarla karşılaştırılabilir - bu, bir ustanın elinde ölümcül bir silahtır, ancak onları ilk kez alan bir kişinin, amaçları için kullanmaktan daha fazla sakat kalması daha olasıdır. Yani rakiplerin argümanları oldukça anlaşılabilir: OOP onlar için gerçekten bir yıkım aracı, öyleyse neden onlara bu kendini yaralamayı öğretmeye çalışalım?

Uma Thurman'ın samuray kılıcı olmasına rağmen Sensei tarafından çıplak elleriyle dövüldüğü Kill Bill filmini hatırlıyorum:


 
Renat Fatkhullin :

Lütfen gücenmeyin, ama bu bir tür sürrealizm kutlaması.

Bir mikro ev için 10 kutu kibriti kontrol etme yeteneği, gökdelenler inşa etmeye karşıdır.

MQL4 hakkında kendi kendini destekleyen ve referans veren ifadeler forumlarda bu şekilde daha kolay doğar, MQL5 ise çok, çok zordur. Profesyonel geliştiriciler basitçe bu tür tartışmalara girmezler.

Serbest mesleklere bakın. Bir siparişin bir günde tamamlanamaması nadirdir. TOR üzerinde anlaşmaya varmak, müşterinin cevapları, burnunu sokmak ve işi kabul etmek / teslim etmek için daha fazla zaman harcanır. Tabii ki aynı Tetris'i MQL5'te yazabilmek güzel. Ancak dil tamamen farklı bir şey içindir.
Hazır stratejiler için OOP - Master of Expert Advisors kullanımına bir örnek olarak. Bir kez anlamaya çalıştım ve anladım. Ama şimdi her şeyin nasıl çalıştığını hatırlamıyorum.
Prosedürel stil her şeyi net bir şekilde açıklar. Tahmin edin ne zaman tamamen OOP'a geçeceğim?

Başka bir örnek: bir resim var. yazılması gerekiyor. Basit Paint mi kullanacaksınız yoksa Photoshop'u yüzlerce eklentiyle mi yükleyeceksiniz? Evet, Photoshop'u indirirken, Paint'te zaten her şeyi 5. kez yapacağım ve bu görevi unutacağım.