सामान्य तौर पर, उस भाषा का उपयोग करें जिसमें किसी समस्या के समाधान को व्यक्त करना सबसे आसान है। कार्यात्मक प्रोग्रामिंग के लिए, यह तब होता है जब किसी समस्या का समाधान कार्यों के संदर्भ में आसानी से व्यक्त किया जाता है , इसलिए नाम। आमतौर पर यह गणितीय संचालन, एआई, पैटर्न मिलान के लिए अच्छा है; सामान्य तौर पर ऐसी कोई भी चीज़ जो नियमों के एक समूह में टूट सकती है, जिसका उत्तर पाने के लिए इसे लागू किया जाना चाहिए। अपनी समस्या का पर्याप्त विश्लेषण करने के बाद आप केवल "सर्वश्रेष्ठ" भाषा का उपयोग कर सकते हैं। यह वह जगह है जहाँ छद्म कोड काम में आता है। यदि आप अपने आप को छद्म कोड लिख रहे हैं जो एफपी की तरह दिखता है, तो एफपी का उपयोग करें।
बेशक, सभी पूर्ण प्रोग्रामिंग भाषा कार्यात्मक रूप से समतुल्य हैं, इसलिए यह वास्तव में कोई फर्क नहीं पड़ता कि आप किन समस्याओं को हल कर सकते हैं। मुख्य प्रभाव दक्षता और सटीकता कोडिंग और रखरखाव में आसानी के संदर्भ में होगा।
यह भी ध्यान दें कि चतुर रूप से डिज़ाइन किए गए एपीआई के माध्यम से ओओ भाषाओं के भीतर एफपी की नकल करना संभव है। उदाहरण के लिए, मैंने कई जावा लाइब्रेरीज़ देखी हैं (JMock एक उदाहरण है) जो एफपी डीएसएल का अनुकरण करने के लिए चाइनिंग विधि का उपयोग करता है। फिर आपको इस तरह के निर्माण दिखाई देंगे:
logger.expects(once()).method("error")
.with( and(stringContains(action),stringContains(cause)) );
यह अनिवार्य रूप से एक फ़ंक्शन का निर्माण करता है जो यह निर्धारित करने के लिए मूल्यांकन किया जाता है कि मॉक ऑब्जेक्ट पर कुछ कॉलिंग अनुक्रम सही है या नहीं। (उदाहरण http://www.jmock.org/yoga.html से चुराया गया )
एक और एफपी-जैसे सिंटैक्स अन्यथा ओओ भाषाओं में क्लोजर का उपयोग होता है, जैसे कि रूबी में।