Fonksiyonel vs OOP sorusu aslında bir ya-ya-da seçimi değildir; çoğu dil ikisini de destekler. Yine de ağırlıklı olarak hangisini kullanacağınıza rehberlik eden somut kriterler vardır. Fonksiyonel programlama tercih edin: veriyi dönüştüren pipeline'larınız varsa, yan etkileri minimize etmek istiyorsanız, eşzamanlı (concurrent) kod yazıyorsanız ya da test edilebilirlik birincil hedefinizse. Saf fonksiyonlar aynı girdiyle her zaman aynı çıktıyı üretir; bu özellik unit test yazmayı çok kolaylaştırır. Veri analizi, finansal hesaplama ve akış işleme (stream processing) fonksiyonel vs OOP tartışmasında genellikle fonksiyonel tarafa düşer. OOP tercih edin: modellediğiniz domain gerçek dünya varlıklarından oluşuyorsa (kullanıcı, sipariş, ödeme), durumu (state) yönetmek zorundaysanız ya da büyük bir ekipte sorumlulukları nesne sınırlarıyla ayırmak istiyorsanız. GUI uygulamaları, oyun motorları ve kurumsal iş yazılımları OOP'un güçlü olduğu alanlardır. Fonksiyonel vs OOP seçimini pratikte etkileyen üçüncü bir faktör de ekibinizin alışkanlığıdır. Paradigmayı iyi bilmeyen bir ekibe zorunlu fonksiyonel mimari dayatmak, teorik avantajları ortadan kaldırır. Pek çok modern yaklaşım ikisini birleştirir: immutable value object'ler OOP içinde kullanılır, saf dönüşüm fonksiyonları OOP sınıflarından çağrılır. Seçim yaparken katı bir ideoloji değil, sorunun şekli belirleyici olsun.