मैं मूल रूप से FrustratedWithFormsDesign के उत्तर से सहमत हूं , लेकिन आपने यह भी पूछा कि नया प्रतिमान सीखने से आपके कौशल को विकसित करने में मदद मिलती है। मैं अपने स्वयं के अनुभव से कुछ उदाहरण दे सकता हूं।
कार्यात्मक प्रोग्रामिंग सीखने के बाद से, मैं इस बारे में अधिक सचेत हूं कि मैं किन अवधारणाओं के साथ काम करता हूं जिन्हें अधिक स्वाभाविक रूप से "ऑब्जेक्ट" के रूप में माना जाता है (आमतौर पर जहां उत्परिवर्तन समझ में आता है) और जो अधिक स्वाभाविक रूप से अपरिवर्तनीय "मूल्यों" के रूप में माना जाता है (मुझे लगता है कि एक महत्वपूर्ण अंतर है , जहां OO समझ में आता है, पर जब FP समझ में आता है, लेकिन यह सिर्फ मेरी राय है)।
मुझे लगता है कि मेरे कोड में साइड इफेक्ट्स शामिल हैं, और मैं उन जगहों को अलग करने के लिए अधिक सावधान हूं, जो मेरे कार्यों को "शुद्ध" कार्य करते हैं। यह मेरे OO कोड की परीक्षण क्षमता में बहुत सुधार करता है।
मैं अपने डेटा प्रतिनिधित्व में चक्रों के बारे में अधिक जागरूक हूं। (उदाहरण के लिए, मुझे नहीं लगता कि आप हास्केल में एक लिंक्ड-लिस्ट को दोगुनी-लिंक्ड लिस्ट में बदलने के लिए एक फंक्शन लिख सकते हैं, इसलिए आप उस भाषा में साइकल को थोड़ा अधिक नोटिस करते हैं।) साइकल से बचने से सिंक्रोनाइजेशन की मात्रा कम हो जाती है। धागे के बीच इन संरचनाओं को साझा करने में बोझ को कम करने, आंतरिक रूप से सुसंगत होने के लिए आपको अपनी डेटा संरचनाओं के लिए प्रदर्शन करने की आवश्यकता है।
मुझे पुनरावृत्ति पर भरोसा करने की संभावना है (योजना के पुनरावर्ती लूपिंग निर्माण सुंदरता की चीजें हैं)। दिज्कस्ट्रा ने स्ट्रक्चर्ड प्रोग्रामिंग पर नोट्स में इसके महत्व को छुआ - पुनरावर्ती एल्गोरिदम सीधे गणितीय प्रेरण को मैप करता है, जो वह बताता है कि हमारे छोरों को बौद्धिक रूप से सही साबित करने का एकमात्र साधन है। (मेरा सुझाव है कि हमें अपने कोड को सही साबित करना होगा, लेकिन जितना आसान हम इसे खुद करने के लिए करेंगे, उतना ही संभव है कि हमारा कोड सही हो।)
मुझे उच्च-क्रम के कार्यों का उपयोग करने की अधिक संभावना है। जॉन ह्यूजेस का पेपर, व्हाई फंक्शनल प्रोग्रामिंग मैटर्स । यह कार्यात्मक प्रोग्रामिंग तकनीकों को नियोजित करने से प्राप्त होने वाली योग्यता पर जोर देता है, उच्च-क्रम वाले कार्यों में प्रमुख भूमिका निभाता है।
इसके अलावा, जैसा कि जेट्टी के जवाब में दिखाया गया है , आप पाएंगे कि बहुत सारे एफपी विचारों को नई ओओ भाषाओं में शामिल किया जा रहा है। रूबी और पायथन दोनों ही कई उच्च-क्रम के कार्य प्रदान करते हैं, मैंने सुना है कि LINQ को C # में मोनडिक कॉम्प्रिहेंशन के लिए समर्थन लाने के प्रयास के रूप में वर्णित किया गया है, यहां तक कि C ++ में अब लैम्बडा एक्सप्रेशन हैं।