Genel olarak, bir sorunun çözümünü ifade etmenin en kolay olduğu dili kullanın. Fonksiyonel programlama için bu, bir problemin çözümünün fonksiyonlar açısından kolayca ifade edildiği zamandır , dolayısıyla adı. Genellikle matematiksel işlemler, AI, örüntü eşleştirme için iyidir; genel olarak, bir cevap almak için uygulanması gereken bir dizi kurala bölünebilecek herhangi bir şey. Yalnızca probleminizi yeterince analiz ettikten sonra kullanılacak "en iyi" dili gerçekten belirleyebilirsiniz. Sözde kodun işe yaradığı yer burasıdır. Kendinizi FP'ye benzeyen sözde kod yazarken bulursanız, FP kullanın.
Elbette, tüm programlama dilleri işlevsel olarak eşdeğerdir, bu nedenle hangi problemleri çözebileceğiniz açısından hangisini seçtiğiniz önemli değildir. Ana etkiler, kodlama verimliliği ve doğruluğu ve bakım kolaylığı açısından olacaktır.
Ayrıca akıllıca tasarlanmış API'ler aracılığıyla OO dillerinde FP'yi taklit etmenin mümkün olduğunu unutmayın. Örneğin, FP DSL'i simüle etmek için yöntem zincirleme kullanan çok sayıda Java kitaplığı (JMock bir örnektir) gördüm. Ardından aşağıdaki gibi yapılar göreceksiniz:
logger.expects(once()).method("error")
.with( and(stringContains(action),stringContains(cause)) );
Bu, esasen sahte bir nesnedeki bazı arama sıralarının doğru olup olmadığını belirlemek için değerlendirilen bir işlev oluşturur. (örnek http://www.jmock.org/yoga.html adresinden çalındı )
Diğer OO dillerindeki diğer FP benzeri sözdizimi, Ruby'de olduğu gibi kapanışların kullanılmasıdır.