Lütfen Harper'ın tanıtıcı bir CS müfredat sınıfı öğretme ihtiyacının gerçek yaşam projesinin gereksinimlerinden çok farklı olduğunu göz önünde bulundurun . Görevi, birinci sınıf öğrencilere temel kavramları (örneğin modülerlik, paralellik, indüksiyon) öğretmektir. Bu nedenle çok önemlidir, seçilen dilin (ve paradigmanın) bu kavramları mümkün olduğu kadar küçük bir törenle (sözdizimsel ve kavramsal) ifade edebilmesi çok önemlidir. Bilinenlik, araç desteği, mevcut kütüphaneler, yürütme performansı vb. Bu bağlamda tamamen önemsizdir. Lütfen aşağıdakileri göz önünde bulundurarak bunu aklınızda bulundurun ...
OO'nun anti-modüler olduğu görüşü , iyi tasarlanmış sınıfların nesnelerinin bile sona erme eğiliminde olduğu diğer sınıflara olan çok fazla bağımlılıktan kaynaklanmaktadır. Bu bir sorun - OO'nun savunucularının gözünde bile - son yıllarda Bağımlılık Enjeksiyonu çerçevelerinin , makalelerinin, kitaplarının ve blog yazılarının çoğalmasına baktığınızda netleşiyor (alayların ve saplamaların yükselişi de ilginçtir).
Başka bir ipucu, Tasarım Paternlerinin önemi ve bunları uygulamanın karmaşıklığı - diğer bazı programlama paradigmalarına kıyasla - örneğin Fabrikalar, Oluşturucu, Adaptör, Köprü, Dekoratör, Cephe, Komuta, İteratör, Arabulucu, Gözlemci, Strateji ve Şablon Yöntemi ve belki de Bileşik, bir şekilde OO kodunun modülerliğini geliştirmekle ilgilidir.
Kalıtım aynı zamanda problemlidir (örneğin Kırılgan Temel Sınıf Sorunu ) ve (alt tip) polimorfizm, değişikliklerin tüm kalıtım zinciri boyunca (yukarı ve aşağı!) Dalgalanabileceği çoklu sınıflar arasında bir algoritmanın uygulanmasını dökmek için birini baştan çıkarır .
Paralel olma suçlaması, hesaplamaya kıyasla devletin vurgusuyla ilgilidir (diğer bir deyişle, değişkenlik ve değişmezlik). İlki , devletin yönettiği yerin (yani, değişken değişkeninin bildirildiği yerin bulunduğu yer) hangi aktörlerin dışındaki aktörlerin (Harper's'ın paralelliğe bürünmesidir !) Bağımlılıklarını ifade etmeyi daha fazla içerir . zamanın hangi noktasında değiştirecek.
Değişmezlik ve hesaplama vurgusu, alt hesapların bağımlılıklarını ifade etmeyi çok daha kolay hale getirir, çünkü devlet yönetimi yoktur, sadece alt hesapların bağımlılıklarını ifade etmek istediğiniz yerde birleştirilen fonksiyonlar / hesaplamalar.