जावास्क्रिप्ट एलोंगे
जावास्क्रिप्ट एलोंगे
सारांश:
परिचय
पुस्तक «JavaScript Allongé» (लेखक — Reginald Braithwaite, 2019, 520 पृष्ठ) सिंटैक्स या रेसिपी संग्रह की कोई सामान्य संदर्भ पुस्तिका नहीं है। यह जावास्क्रिप्ट भाषा में कार्यात्मक प्रोग्रामिंग में एक गहरा गोता है, जो उन लोगों के लिए लिखा गया है जो पहले से ही मूल बातें सीख चुके हैं और यह समझना चाहते हैं कि स्वच्छ, अभिव्यंजक और आसानी से रखरखाव योग्य कोड कैसे लिखें। पुस्तक का शीर्षक एक शब्दों का खेल है: «allongé» (फ्रेंच में «लंबा») «लंबे» फंक्शन और क्लोजर की अवधारणा के साथ-साथ लेखन शैली को संदर्भित करता है, जो धीरे-धीरे जटिल विषयों को उजागर करता है।
यह पुस्तक किस बारे में है
यह पुस्तक जावास्क्रिप्ट में कार्यात्मक प्रतिमान के लिए समर्पित है। Braithwaite पाठक को मूल अवधारणाओं (प्रथम श्रेणी की वस्तुओं के रूप में फंक्शन, क्लोजर) से लेकर उन्नत तकनीकों तक लगातार ले जाता है: फंक्शन कंपोज़िशन, करीइंग, आंशिक अनुप्रयोग, रिकर्सन, मोनाड और कार्यात्मक दृष्टिकोणों के माध्यम से एसिंक्रोनसिटी के साथ काम करना। विशेष ध्यान इस बात पर दिया गया है कि अपरिवर्तनीय डेटा संरचनाओं और शुद्ध फंक्शन का उपयोग करके साइड इफेक्ट के बिना कोड कैसे लिखा जाए। प्रत्येक अध्याय में Node.js पर कई उदाहरण हैं जिन्हें तुरंत चलाया और प्रयोग किया जा सकता है।
यह पुस्तक किसके लिए है
यह पुस्तक उन प्रोग्रामरों के लिए है जो पहले से ही जावास्क्रिप्ट की मूल बातें (चर, फंक्शन, ऑब्जेक्ट, ऐरे) से परिचित हैं और उनके पास कोड लिखने का कम से कम न्यूनतम अनुभव है। यह निम्नलिखित के लिए उपयोगी होगी:
- डेवलपर्स जो अनिवार्य शैली से कार्यात्मक शैली में जाना चाहते हैं;
- वे जो क्लोजर, स्कोप और निष्पादन संदर्भ को गहराई से समझना चाहते हैं;
- प्रोग्रामर जो अधिक घोषणात्मक और परीक्षण योग्य कोड लिखने का प्रयास कर रहे हैं;
- वे लोग जिन्होंने पहले से ही कार्यात्मक भाषाओं (Haskell, Clojure) को आजमाया है और जावास्क्रिप्ट में समान सिद्धांतों को लागू करना चाहते हैं;
- छात्र और शिक्षक जो विकास के आधुनिक दृष्टिकोणों का अध्ययन कर रहे हैं।
पाठक क्या सीखेगा
पुस्तक पढ़ने के बाद, आप यह कर पाएंगे:
- क्लोजर को समझना और उपयोग करना न केवल एक सैद्धांतिक अवधारणा के रूप में, बल्कि फंक्शन फैक्ट्री और स्टेट एनकैप्सुलेशन बनाने के लिए एक उपकरण के रूप में;
- फंक्शन कंपोज़िशन लागू करना गहरी नेस्टिंग से बचते हुए, सरल ऑपरेशनों से जटिल ऑपरेशन बनाने के लिए;
- करीइंग और आंशिक अनुप्रयोग को लागू करना सामान्य फंक्शन के आधार पर विशिष्ट फंक्शन बनाने के लिए;
- रिकर्सिव एल्गोरिदम लिखना टेल रिकर्सन और ऑप्टिमाइज़ेशन की समझ के साथ;
- मोनाड (Maybe, Either, IO) के साथ काम करना सुरक्षित त्रुटि प्रबंधन और साइड इफेक्ट के लिए;
- एसिंक्रोनसिटी (Promise, async/await) के साथ काम करने के लिए कार्यात्मक दृष्टिकोण का उपयोग करना callback hell के बिना;
- अपरिवर्तनीय डेटा संरचनाएँ बनाना और म्यूटेशन से बचना, कोड को पूर्वानुमानित बनाना।
पुस्तक की ताकत
सबसे पहली चीज़ जो ध्यान खींचती है वह है लेखन शैली। Braithwaite जीवंत, हास्य और अनेक रूपकों के साथ लिखता है, जो जटिल विषयों को सुलभ बनाता है। प्रत्येक अध्याय एक सरल उदाहरण से शुरू होता है जो धीरे-धीरे जटिल होता जाता है, और लेखक लगातार पहले से शुरू की गई अवधारणाओं पर लौटता है, उन्हें मजबूत करता है। दूसरी बात है व्यावहारिक अभिविन्यास: सभी अवधारणाओं को कोड के साथ चित्रित किया गया है जिसे चलाया जा सकता है। तीसरी बात है गहराई: पुस्तक श्रेणी सिद्धांत के क्षेत्र में जाने से नहीं डरती, लेकिन इसे अत्यधिक गणितीय औपचारिकता के बिना, जावास्क्रिप्ट के ढांचे के भीतर रहते हुए करती है। अंत में, संरचना: 520 पृष्ठ छोटे अध्यायों में विभाजित हैं, जो पुस्तक को टुकड़ों में पढ़ने की अनुमति देता है, बिना सूत्र खोए।
किसे अनुशंसित किया जाता है
मैं «JavaScript Allongé» की दृढ़ता से अनुशंसा करता हूँ उन सभी को जो «jQuery-शैली» से आगे बढ़ना चाहते हैं और वास्तव में सुरुचिपूर्ण और रखरखाव योग्य जावास्क्रिप्ट लिखना सीखना चाहते हैं। विशेष रूप से, यह पुस्तक उन लोगों के लिए उपयोगी होगी जो उन कंपनियों में साक्षात्कार की तैयारी कर रहे हैं जहाँ कार्यात्मक प्रोग्रामिंग को महत्व दिया जाता है (उदाहरण के लिए, React/Redux का उपयोग करने वाले स्टार्टअप में)। यदि आप पहले ही «You Don't Know JS» पढ़ चुके हैं और आगे बढ़ना चाहते हैं