C++ में कार्यात्मक प्रोग्रामिंग: एक आधुनिक दृष्टिकोण
C++ में कार्यात्मक प्रोग्रामिंग: एक आधुनिक दृष्टिकोण
सारांश:
पुस्तक "C++ में कार्यात्मक प्रोग्रामिंग" उन डेवलपर्स के लिए एक व्यावहारिक मार्गदर्शिका है जो पारंपरिक अनिवार्य दृष्टिकोण से आगे बढ़ना चाहते हैं और आधुनिक C++ (C++17/20 मानकों) के संदर्भ में कार्यात्मक प्रतिमानों में महारत हासिल करना चाहते हैं। लेखक दिखाता है कि अधिक पूर्वानुमानित, परीक्षण योग्य और संक्षिप्त कोड बनाने के लिए भाषा की शक्ति का उपयोग कैसे करें - लैम्ब्डा एक्सप्रेशन और टेम्पलेट से लेकर STL कंटेनर तक।
यह पुस्तक किस बारे में है
- C++ में FP की मूल बातें: शुद्ध फंक्शन, डेटा की अपरिवर्तनीयता, साइड इफेक्ट्स का अभाव। ये सिद्धांत पठनीयता और डिबगिंग को कैसे बेहतर बनाते हैं।
- लैम्ब्डा एक्सप्रेशन और क्लोजर: सरल अनाम फंक्शन से लेकर वेरिएबल कैप्चर के साथ जटिल क्लोजर तक। STL एल्गोरिदम के लिए उदाहरण।
- फंक्शन कम्पोज़िशन और करीइंग:
std::functionऔर कस्टम कॉम्बिनेटर का उपयोग करके कॉल चेन बनाना। डेटा प्रोसेसिंग पाइपलाइनों का कार्यान्वयन। - C++ में मोनाड और फंक्टर: टेम्पलेट पर
Maybe,EitherऔरStateपैटर्न। अपवादों के बिना त्रुटि प्रबंधन। - आलसी गणना और अनंत अनुक्रम: रेंज जनरेशन, मेमोइज़ेशन,
std::generator(C++23) और कस्टम इटरेटर का उपयोग करके विलंबित लोडिंग। - समानता और कार्यात्मक दृष्टिकोण: सुरक्षित मल्टीथ्रेडिंग के लिए
std::async,std::futureऔर कार्यात्मक पाइपलाइनों का उपयोग।
यह पुस्तक किसके लिए है
- अनुभवी C++ डेवलपर्स जो अधिक स्वच्छ और मॉड्यूलर कोड लिखना चाहते हैं।
- प्रोग्रामर जो कार्यात्मक भाषाओं (Haskell, Scala) से परिचित हैं, लेकिन C++ पर काम करते हैं।
- छात्र और इंजीनियर जो आधुनिक प्रोग्रामिंग प्रतिमानों का अध्ययन कर रहे हैं।
आप क्या सीखेंगे
std::transform,std::accumulateऔर कस्टम एल्गोरिदम का उपयोग करके लूप और म्यूटेशन को डेटा ट्रांसफॉर्मेशन से कैसे बदलें।- इनहेरिटेंस के बजाय कम्पोज़िशन का उपयोग करके API कैसे डिज़ाइन करें।
- ग्लोबल स्टेट पर निर्भर हुए बिना फंक्शन को अलग-थलग कैसे परीक्षण करें।
- फंक्शनल ऑब्जेक्ट का उपयोग करके "स्ट्रेटेजी" और "कमांड" पैटर्न कैसे लागू करें।
पुस्तक में कोड उदाहरणों, अभ्यासों और व्यावहारिक समस्याओं के कई उदाहरण हैं। आप प्रत्येक कार्य के लिए इष्टतम दृष्टिकोण चुनते हुए, कार्यात्मक और अनिवार्य तकनीकों को संयोजित करना सीखेंगे। पढ़ने के बाद, आप C++ में ऐसा कोड लिख पाएंगे जिसे बनाए रखना, विस्तारित करना और डीबग करना आसान होगा।
यह संस्करण स्व-अध्ययन के साथ-साथ C++ में कार्यात्मक तकनीकों के संदर्भ के रूप में उपयोग के लिए उपयुक्त है।