Secara umum, gunakan bahasa yang paling mudah digunakan untuk mengungkapkan solusi suatu masalah. Untuk pemrograman fungsional, ini adalah saat solusi untuk suatu masalah dengan mudah diekspresikan dalam bentuk fungsi , maka namanya. Umumnya bagus untuk operasi matematika, AI, pencocokan pola; secara umum segala sesuatu yang dapat dipecah menjadi seperangkat aturan yang harus diterapkan untuk mendapatkan jawaban. Anda hanya dapat benar-benar menentukan bahasa "terbaik" untuk digunakan setelah Anda cukup menganalisis masalah Anda. Di sinilah pseudo-code berguna. Jika Anda menemukan diri Anda menulis pseudo-code yang terlihat seperti FP, gunakan FP.
Tentu saja, semua bahasa pemrograman lengkap secara fungsional setara, jadi tidak masalah yang mana yang Anda pilih dalam hal masalah apa yang dapat Anda selesaikan. Efek utamanya adalah dalam hal efisiensi dan akurasi pengkodean, dan kemudahan pemeliharaan.
Perhatikan juga bahwa dimungkinkan untuk meniru FP dalam bahasa OO melalui API yang dirancang dengan cerdik. Misalnya, saya telah melihat banyak perpustakaan Java (JMock adalah salah satu contoh) yang menggunakan rangkaian metode untuk mensimulasikan FP DSL. Kemudian Anda akan melihat konstruksi seperti:
logger.expects(once()).method("error")
.with( and(stringContains(action),stringContains(cause)) );
Ini pada dasarnya membangun fungsi yang dievaluasi untuk menentukan apakah beberapa urutan panggilan pada objek tiruan sudah benar. (contoh dicuri dari http://www.jmock.org/yoga.html )
Sintaks mirip FP lainnya dalam bahasa OO lainnya adalah penggunaan closure, seperti di Ruby.