Gelen cat-v.org birçok anti-cepten rants biri Joe Armstrong tarafından bir geçit bunlardan biri şu oldu, nesne yönelimli programlama karşı çeşitli itirazlarda bulundu:
İtiraz 4 - Nesnelerin özel durumu vardır
Devlet tüm kötülüklerin köküdür. Özellikle yan etkileri olan fonksiyonlardan kaçınılmalıdır.
Programlama dillerinde devlet arzu edilmezken, gerçek dünyada devlet boldur. Banka hesabımın durumuyla çok ilgileniyorum ve bankamdan para yatırdığımda veya çektiğimde banka hesabımın durumunun doğru bir şekilde güncellenmesini bekliyorum.
Devletin gerçek dünyada var olduğu düşünüldüğünde, programlama dili devletle başa çıkmak için hangi olanakları sağlamalıdır?
OOPL'ler “devleti programcıdan sakla” der. Durumlar gizlidir ve yalnızca erişim işlevleri aracılığıyla görünür. Geleneksel programlama dilleri (C, Pascal), durum değişkenlerinin görünürlüğünün dilin kapsam kuralları tarafından kontrol edildiğini söyler. Saf bildirici diller devletin olmadığını söylüyor. Sistemin küresel durumu tüm işlevlere taşınır ve tüm işlevlerden çıkar. Monadlar (FPL'ler için) ve DCG'ler (mantık dilleri) gibi mekanizmalar, durumu programcıdan gizlemek için kullanılır, böylece “durum önemli değil” gibi programlayabilirler, ancak bunun gerekli olması durumunda sistemin durumuna tam erişime sahiptirler.
OOPL'ler tarafından seçilen “durumu programcıdan gizle” seçeneği mümkün olan en kötü seçimdir. Devleti açığa vurmak ve devletin sıkıntısını en aza indirmenin yollarını bulmaya çalışmak yerine devleti gizlerler.
Bununla tam olarak ne kastediliyor? Çok az düşük seviyeli ya da prosedürel deneyime sahibim, çoğunlukla OOP, bu yüzden muhtemelen buna ne kadar aşina olduğumu açıklıyor. Ve daha modern bir bakış açısıyla, şimdi Nesneye Dayalı histerinin çoğu geçtiğine (en azından anlayabildiğim kadarıyla), sizler pasajın ne kadar doğru / alakalı olduğunu düşünüyorsunuz?
Yardımın için teşekkürler.