मैं एक टीम पर रहा हूं जो एफजे पुस्तकालय का उपयोग करता है, और मैं दूसरों के बारे में जानता हूं। एक टीम पर इसे घर से उगाए जाने वाले पुस्तकालय के प्रतिस्थापन के रूप में इस्तेमाल किया गया था जो कम पॉलिश था, दूसरी ओर यह Google संग्रहों को बदल दिया गया था। मैं कुछ लोगों को भी जानता हूं जो एफजे से स्रोत कोड को अपने स्वयं के कार्यान्वयन के लिए कॉपी करते हैं।
मेरी राय में, यदि आपको जावा का उपयोग करना होगा, तो आपको अपने जीवन को आसान बनाने के लिए फ़ंक्शनल जावा जैसे कुछ का उपयोग करना चाहिए।
क्या यह कोड गुणवत्ता या स्पष्टता बढ़ाता है?
एक कार्यात्मक शैली में लिखा कोड अधिक संक्षिप्त है, इसलिए अधिक स्पष्ट है। लाइब्रेरी के साथ आता है, और अपरिवर्तनीय डेटा संरचनाओं के उपयोग को प्रोत्साहित करता है, जो गुणवत्ता में सुधार करता है। लाइब्रेरी विरासत पर संरचना को भी प्रोत्साहित करती है, जो आपके कोड की पुन: प्रयोज्यता में सुधार करती है।
उत्पादकता में सुधार?
निश्चित रूप से। अधिक शक्तिशाली उपकरण वाले डेवलपर्स अधिक उत्पादक हैं। मेरे अनुभव में डेवलपर्स का मानना है कि प्रथम श्रेणी के फ़ंक्शंस प्रोग्रामिंग को आसान और अधिक आनंददायक बनाते हैं। हैप्पी प्रोग्रामर उत्पादक प्रोग्रामर हैं।
विफलता के संभावित बिंदु कम करें?
प्रोग्रामिंग की एक और कार्यात्मक शैली परिवर्तनीय स्थिति को हतोत्साहित करती है, जो कि बड़ी संख्या में बग को समाप्त करती है। इसके अलावा, अधिक शक्तिशाली abstractions कम पुनरावृत्ति का कारण बनता है, जो कुछ जगह गलत जगहों की संख्या को कम कर देता है।
प्रभाव प्रदर्शन?
इस बात पर विश्वास करने का कोई कारण नहीं है कि प्रदर्शन एक तरफ या दूसरे पर असर डालेगा। प्रदान किए गए डेटास्ट्रक्चर प्रदर्शन के बजाए उपयोग और अभिव्यक्ति की आसानी के लिए डिज़ाइन किए गए हैं, लेकिन वे जो भी हैं उनके लिए वे बेहतरीन रूप से लिखे गए हैं। किसी और चीज के साथ, आप जो ड्राइव कर रहे हैं उससे ज्यादा महत्वपूर्ण है। उदाहरण के लिए, fj.data.List एक लिंक्ड सूची है, इसलिए इसमें ओ (एन) यादृच्छिक पहुंच और concatenation है, इसलिए आप उन उद्देश्यों के लिए इससे बचें। fj.data.Stream तुलना में ओ (1) concatenation है।