İkinci baskının 839. sayfasında, Steve McConnell, programcıların büyük programlarda "karmaşıklığı ele geçirme" yollarını tartışıyor. Tüyoları bu ifadeyle sonuçlandı:
"Nesneye yönelik programlama , aynı zamanda algoritmalar ve veriler için geçerli olan bir soyutlama düzeyi sağlar , yalnızca işlevsel ayrışmanın tek başına sağlamadığı bir tür soyutlama sağlar."
"Karmaşıklığın azaltılması tartışmalı olarak etkili bir programcı olmanın en önemli anahtarıdır" (aynı sayfa) olduğu sonucuyla birleştiğinde, bu durum işlevsel programlama için oldukça zorlu görünüyor.
FP ve OO arasındaki tartışma genellikle, özellikle eşzamanlılık veya paralelleştirme zorluklarından türetilen karmaşıklık meseleleri etrafındaki FP savunucuları tarafından çerçevelenir. Ancak eşzamanlılık kesinlikle programcıların fethetmesi gereken tek karmaşıklık yazılımı değildir. Belki bir çeşit karmaşıklığı azaltmaya odaklanmak, diğer boyutlarda onu büyük ölçüde arttırır, öyle ki çoğu durumda kazancınız maliyete değmez.
FP ve OO arasındaki karşılaştırma şartlarını eşzamanlılık veya yeniden kullanılabilirlik gibi belirli konulardan küresel karmaşıklığın yönetimine kaydırırsak, bu tartışma nasıl görünür?
DÜZENLE
Vurgulamak istediğim karşıtlık, OO'nun hem veri hem de algoritmaların karmaşıklığını kapsamaya ve soyutlamaya başlamış gibi görünmesine karşın, işlevsel programlama, program boyunca veri yapılarının uygulama ayrıntılarını daha "ortaya çıkaran" bırakmaya teşvik ediyor gibi görünüyor.
Bakınız, mesela, Stuart Halloway (a Clojure FP savunucusu) burada "veri türleri aşırı şartname" "deyimsel OO tarzı negatif sonucu" olduğunu söyleyerek ve basit bir vektörü olarak bir AddressBook kavramsallaştırma ya da bunun yerine daha zengin OO nesnesinin haritasına lehine ek (vectorish olmayan ve maplike olmayan) özellikler ve yöntemler ile. (Ayrıca, OO ve Etki Alanına Dayalı Tasarım taraftarları, bir Adres Defterini bir vektör veya harita olarak göstermenin, kapsüllenmiş verileri, etki alanı açısından alakasız veya hatta tehlikeli olan yöntemlere maruz bıraktığını söyleyebilirler).