कम्युनिटी पर वापस जाएँ

ABAP और ABAP

Lars Hvam डेनमार्क के कोपेनहेगन में रहते हैं और उन्हें ABAP प्रोग्रामिंग भाषा बहुत पसंद है। Exercism पर ABAP ट्रैक तैयार करने के बाद हमने Lars से बात की और यह चर्चा की कि वे टेक में कैसे पहुँचे।

Youtube पर देखें
अवधि 31मिनट

Jonathan: नमस्ते और सभी का स्वागत है। मेरा नाम Jonathan है। मैं Exercism पॉडकास्ट का होस्ट हूँ, और आज मेरे साथ Lars जुड़े हुए हैं। तो Lars, आप इस समय कहाँ रहते हैं?

Lars: मैं Copenhagen, Denmark में हूँ।

Jonathan: बढ़िया। तो भूमध्य रेखा से थोड़ा उत्तर की ओर। इस समय मैं भूमध्य रेखा से काफी दक्षिण में हूँ। आज के शो में आपका होना बहुत अच्छा लगा। बहुत खुशी है कि हम यह बातचीत कर पा रहे हैं। तो चलिए सीधे इस हफ्ते के शो में शुरू करते हैं। तो Lars, अपने बारे में कुछ बताइए। आप टेक में कैसे आए? आप वहाँ कैसे पहुँचे जहाँ आप अभी हैं?

Lars: हाँ, देखते हैं, मैं अभी कहाँ हूँ, जैसा हमने बात की, Copenhagen में। लेकिन मुख्य रूप से SAP के कस्टम कोड, यानी ABAP के क्षेत्र में कंसल्टिंग करता हूँ। और मैं वहाँ कैसे पहुँचा? हाँ, हमेशा की तरह, यह एक लंबी कहानी है। लेकिन यह टेक है। तो टेक की सवारी की बात करते हैं। जब मैं छोटा था, वह बहुत समय पहले की बात है। मैं और मेरा हमशक्ल जुड़वाँ भाई। मेरा एक...

Jonathan: आपका एक हमशक्ल जुड़वाँ भाई है, तो मुझे कैसे पता चलेगा कि आज आपके दूसरे जुड़वाँ भाई बोल रहे हैं, आप नहीं?

Lars: Microsoft का काम करते हैं।

Jonathan: ठीक है। डरावना।

Lars: चीज़ें। तो उनसे SAP के बारे में कुछ भी पूछिए। फिर वे मुझसे Microsoft के बारे में कुछ नहीं पूछ सकते। फिर मैं जवाब नहीं दे पाता।

Jonathan: हाँ।

Lars: लेकिन जब हम छोटे थे, तब हमने शुरू किया। Commodore 64 पर खेलना, और मुझे याद है कि Commodore पर, एक छोटी सी श्वेत-श्याम टीवी स्क्रीन पर, Basic प्रोग्रामिंग भाषा में बहुत बुनियादी प्रोग्रामिंग की थी। उसमें घंटों बिताना, नया कंप्यूटर मिलना, 386 और 486 पर QBasic करना। आठ मेगाबाइट मेमोरी तक अपग्रेड करना, उन दिनों यह बड़ी बात हुआ करती थी। हाँ, वह QBasic था, Pascal प्रोग्रामिंग करना। आगे चलकर Windows में उतरना। और मैंने बहुत Visual Basic किया। हाँ, मुझे Visual Basic पसंद था। वह नब्बे के दशक की बात है, और आगे चलकर कुछ Linux चलाने तक बात पहुँची। और हाँ। जिन्हें पुराने अच्छे Linux दिन याद हैं, उनके लिए themes.org वेबसाइट थी, जहाँ अलग-अलग विंडो मैनेजर के लिए थीम डाउनलोड की जा सकती थीं। बहुत Linux वाली बात। और मुझे लगता है कि यही पहला मौका था जब मैं समुदाय से सच में जुड़ा, उस वेबसाइट को PHP में बनाने में समय बिताया। हाँ,

Jonathan: ठीक है। वाह।

Lars: मुझ पर भी कुछ मुहरें लगीं। Visual Basic, पीएचडी की प्रोग्रामिंग। हाँ।

Jonathan: ठीक है। बढ़िया। बढ़िया। हाँ, यह अच्छा है।

Lars: और आगे चलकर यूनिवर्सिटी जाना, कंप्यूटर साइंस में मास्टर करना, और जो भी प्रोग्रामिंग मिली वह करना, और संयोग से एक छोटी नौकरी मिल गई क्योंकि... हाँ। किराया चुकाने के लिए पैसे चाहिए थे। और दूसरी प्रोग्रामिंग करना। पिछले लगभग 15 साल से SAP ABAP कस्टम कोड डेवलपमेंट मेरे साथ चल रहा है। और हाँ। तो अगला सवाल। क्यों? यह टिका क्यों रहा? क्योंकि ABAP अब कोई बहुत आधुनिक प्रोग्रामिंग भाषा नहीं है। यह काफी हद तक Cobol जैसी है, लेकिन यह एक बहुत दिलचस्प प्रोग्रामिंग भाषा भी है, क्योंकि यह बहुत विशाल है, इसमें बहुत सारे अलग-अलग स्टेटमेंट हैं और बहुत सारी अलग-अलग चीज़ें गलत हो सकती हैं।

Jonathan: ठीक है। तो इसमें बहुत सारी समस्याएँ सुलझानी पड़ती हैं और कई तरह की डीबगिंग करनी पड़ती है। क्या यही इसकी प्रकृति है?

Lars: हाँ। मैं आमतौर पर कहता हूँ कि मैं इस तरह का काम करता हूँ क्योंकि मुझे डीबगिंग बहुत पसंद है और डीबग करने के लिए पुराना कोड बहुत है, है ना? पिछले हफ्ते ही मैं 20 साल पुराना एक प्रोग्राम ठीक कर रहा था। मैंने सोचा, ठीक है, बढ़िया। और जब आप किसी पुराने प्रोग्राम में झाँकते हैं, तो हमेशा कुछ नया सीखने को मिलता है, भले ही मैं यह काम कई सालों से कर रहा हूँ। कुछ पुराने फीचर जो इस्तेमाल हुए हैं और आज भी रोज़ चलते हैं, है ना?

Jonathan: ठीक है, तो आप 15 साल पहले जुड़े थे। उसी कंपनी में, या आपने SAP के साथ ABAP सीखना शुरू किया और अलग-अलग कंपनियों में गए?

Lars: अभी, मेरी अपनी कंपनी है जिसमें मैं मज़ेदार चीज़ें करता हूँ और मैं तय करता हूँ कि क्या करना है। और मैंने अलग-अलग कंसल्टिंग कंपनियों के लिए बहुत कंसल्टिंग भी की है और इंटर्न के तौर पर भी काम किया है। तो अब मैं फ्रीलांस कर रहा हूँ और कुछ फ्रीलांस काम ले रहा हूँ ताकि फिर से अपना किराया चुका सकूँ। यह ज़रूरी है।

Jonathan: हाँ। ऐसा लगता है कि यह आपके जीवन का एक आम विषय है, यानी चुकाना। किराया चुकाना,

Lars: हाँ।

Jonathan: चुकाने के तरीके ढूँढना।

Lars: और फिर भी ओपन सोर्स प्रोजेक्ट्स पर बहुत ज़्यादा समय बिताना, किसी चुनौतीपूर्ण चीज़ में भटक जाना।

Jonathan: हाँ। तो क्या आपके पास लोगों की कोई टीम है जिनके साथ आप अपने काम के हिस्से के तौर पर काम करते हैं, या उस मायने में आप अकेले हैं? आपके काम का रोज़ाना या हफ्ते भर का रूप कैसा रहता है?

Lars: मैं अकेला हूँ और मेरी अपनी कंपनी है। सहयोग की बात करें तो, मैं ग्राहक के साथ मिलकर काम करता हूँ, है ना? और फिर ओपन सोर्स की दुनिया में, ओपन सोर्स समुदाय में मेरे बहुत अच्छे दोस्त हैं जो कभी-कभी कुछ चीज़ों में मदद करते हैं। और मैं भी उनकी कभी-कभी कुछ चीज़ों में मदद करता हूँ, तो इसमें दोनों को फायदा होता है।

Jonathan: हाँ। तो मुझे लगता है कि Exercism पर ABAP ट्रैक बनाने की पूरी ज़िम्मेदारी असल में आपकी है, अगर मैं गलत नहीं हूँ, या इसे बनाने में आपकी बहुत बड़ी भूमिका है। इसके बारे में थोड़ा बताइए।

Lars: हाँ। तो ABAP ट्रैक अलग-अलग समुदाय के सदस्यों ने मिलकर बनाया है। और ये मुख्य रूप से ABAP ओपन सोर्स प्रोजेक्ट्स के समुदाय सदस्य हैं। और हाँ, हम थोड़े खास हैं, इसलिए हमें अपना खुद का क्लाइंट शुरू से बनाना पड़ा, लेकिन वह किसी और दिन की बात है।

Jonathan: हाँ। हाँ। हाँ।

Lars: वह अपनी बात है। तो बहुत सारे लोग Exercism में योगदान देते हैं। लेकिन ABAP थोड़ा खास है, है ना? क्योंकि यह एक ऐसी प्रोग्रामिंग भाषा है जिसमें शुरुआत करना असल में काफी मुश्किल है, क्योंकि आप JavaScript का Node जैसा रनटाइम या Python का रनटाइम सीधे डाउनलोड नहीं कर सकते। ABAP में आप यह आसानी से नहीं कर सकते। ऐसा करने का सबसे नया तरीका एक ऐसा डॉकर कंटेनर था जो, जहाँ तक मुझे याद है, 16 गीगाबाइट का था।

Jonathan: 16

Lars: इसे चलाने के लिए कम से कम 32 गीगाबाइट मेमोरी चाहिए। और ऐसे बहुत कम लोग हैं जिनके पास यह इंफ्रास्ट्रक्चर आसानी से उपलब्ध है। और इस तरह के इंफ्रास्ट्रक्चर पर चलाना शायद Exercism के पीछे की इंफ्रास्ट्रक्चर के साथ मुमकिन भी न हो, मुझे नहीं पता। लेकिन ट्रैक्स में, यह सब बहुत सारे छोटे-छोटे डॉकर कंटेनर होते हैं जो शुरू होते हैं, कोड चलाते हैं, अभ्यास जाँचते हैं, और फिर बंद हो जाते हैं।

Jonathan: हाँ।

Lars: और इस आकार का डॉकर कंटेनर शुरू करने में आसानी से 10 मिनट लग सकते हैं।

Jonathan: ? नहीं। नहीं। ज़रूर।

Lars: तो हमें एक अलग तरीका चाहिए था और सौभाग्य से मैं अपने स्टैटिक एनालिसिस वाले काम पर लगा हुआ था। यह कुछ साल पहले शुरू हुआ और इसमें एब्सट्रैक्ट सिंटैक्स ट्री होते हैं। तो हम असल में इस कोड को लेकर उसे JavaScript कोड में बदल देते हैं और फिर उसे Node पर चलाते हैं और उसी के आधार पर फीडबैक देते हैं। तो हम कहते हैं कि यह वह आधिकारिक भाषा नहीं है जिसे हम ABAP के रूप में सपोर्ट करते हैं, और साथ ही ABAP थोड़ी खास है, जैसा मैंने पहले कई बार कहा। ABAP भाषा का जैसा है वैसा कोई अच्छा आधिकारिक विवरण नहीं है। उन बाकी भाषाओं की तरह नहीं जो डिज़ाइन की गई हैं। मुझे लगता है कि ABAP मुख्य रूप से सत्तर के दशक से, या जब भी यह शुरू हुई, जो है उसी में विकसित होती गई। तो हम चलते-चलते इसे बनाते जाते हैं।

Jonathan: तो इससे आपके रोज़ के काम में किस तरह की चुनौतियाँ पैदा होती हैं? मेरा अनुमान है कि आपको हर दिन किसी समस्या को नई नज़र से देखना पड़ता है और जिसने उसे बनाया उसके दिमाग में उतरने की कोशिश करनी पड़ती है, क्योंकि आपके पास बहुत कम... क्या यह कहना सही होगा कि आपके पास देखने के लिए बहुत कम डॉक्युमेंटेशन होता है, तो आप

Lars: डॉक्युमेंटेशन बहुत है, लेकिन वह... वह बस टेक्स्ट में है और हमेशा 100% सही नहीं होता।

Jonathan: ठीक है।

Lars: सही तरीका यह है कि कोड को चलाकर देखें कि वह असल में क्या करता है, है ना? बेशक, भाषा में बहुत सी चीज़ें सही हैं। लेकिन साथ ही, जब हम लोग SAP सिस्टम में काम करते हैं और चीज़ें बनाते हैं, तो आमतौर पर एक ही सिस्टम में कई डेवलपर होते हैं, और यह एक सिस्टम 20 करोड़ से ज़्यादा लाइनों का कोड और 80,000 से ज़्यादा डेटाबेस टेबल रखता है,

Jonathan: हे भगवान।

Lars: जो अच्छी बात है। मुझे इनमें से एक पसंद है। और खासकर अगर आप सब कुछ बहुत करीब-करीब बनाते हैं, तो आपको बहुत बढ़िया स्टैटिक एनालिसिस मिलता है जो चीज़ों को आपस में जोड़ सकता है, जबकि अगर आप माइक्रोसर्विस आर्किटेक्चर अपनाते हैं, तो सब कुछ ढीला-ढाला जुड़ा होता है। दोनों में अपने फायदे और नुकसान हैं।

Jonathan: तो आप मोनोलिथ सेटअप पसंद करते हैं। क्या यह कहना सही होगा, या यह थोड़ा... आप जो भी पसंद करते हैं,

Lars: हाँ। मुझे मोनोलिथ ही पसंद है, हाँ। ठीक है। तो मूल रूप से आपको एकजुट सिस्टम पसंद हैं। हाँ। बढ़िया। यह

Jonathan: लिगेसी कोड। हाँ। वह सब जो बहुत समय से चला आ रहा है, इस तरह की सब चीज़ें।

Lars: हाँ। मुझे पुरानी चीज़ें पसंद हैं। यह काफी मज़ेदार है, है ना? मैं अक्सर कहता हूँ कि जब मैं बूढ़ा हो जाऊँगा, तो मैं PL/1 या APL प्रोग्रामिंग करना चाहूँगा, इनमें से कुछ प्रोग्रामिंग भाषाएँ। मुझे नहीं पता, शायद मैं यह Exercism पर भी कर सकता हूँ, है ना? कहीं...

Jonathan: शायद, अब तक तो हमारे पास हर चीज़ मौजूद है। देखते हैं क्या-क्या है। ABL? आपने APL कहा या ABL?

Lars: APL, ओह, APL का कोई ट्रैक नहीं है।

Jonathan: ओह, शायद यह एक मौका है।

Lars: PL/1? PL/1 का कोई ट्रैक नहीं है। ठीक है। ठीक है। ये दो ट्रैक हैं जो समुदाय में कोई

Jonathan: ओह, जिसके लिए आप अभी साइन अप कर रहे हैं, यह

Lars: नहीं। तो रोज़ की बात करें, उदाहरण के लिए ABAP ट्रैक। ABAP ट्रैक इस बात का एक अनुमान है कि सही क्या है, और हम हमेशा उसे 100% के एक कदम और करीब ले जाने की कोशिश करते हैं। तो असल में ऐसे लोग हैं जिनके पास सही हल हैं, लेकिन वे Exercism पर चलते ही नहीं,

Jonathan: ठीक है।

Lars: क्योंकि यह अजीब पाइपलाइन जो मैंने बनाई है। लेकिन धीरे-धीरे, दिन-ब-दिन यह काम करने लगता है। और बस बैकएंड में और Exercism रनर में, सब जगह और ज़्यादा यूनिट टेस्ट जुड़ते चले जाते हैं। और फिर उम्मीद है कि किसी दिन यह 100% सही हो जाएगा, लेकिन

Jonathan: कौन जाने। कौन जाने उससे आगे क्या निकलेगा। तो अब, आप आमतौर पर हफ्ते भर में कितने क्लाइंट्स के साथ काम करते हैं? एक या दो या तीन, या 10 तक हो सकते हैं?

Lars: बस एक या दो।

Jonathan: ठीक है। और यह काफी समय से चल रहा है।

Lars: हाँ। हाँ। मैं कई सालों से कंसल्टिंग कर रहा हूँ।

Jonathan: और यह मुख्य रूप से Copenhagen में ही केंद्रित है, या महामारी के दौरान आपको दूर-दराज़ से रिमोट काम करने का मौका मिला? आपका... आप ज़्यादा यात्रा करते हैं, या,

Lars: जवानी के दिनों में बहुत यात्रा की है, लेकिन अब मैं आमतौर पर घर बैठकर रिमोट काम करता हूँ।

Jonathan: ठीक है।

Lars: यह

Jonathan: हाँ। आप अपनी कॉफी मशीन गरम रखते हैं।

Lars: हाँ।

Jonathan: चीज़ें चलती रहती हैं। तो अंत में, आपने कहा कि आप काफी छोटी उम्र से प्रोग्रामिंग करते हुए बड़े हुए और आपकी उसमें रुचि थी, काफी छोटी उम्र से। क्या कभी कोई ऐसा मौका आया जब प्रोग्रामिंग आपको समझ में आई? कोई ऐसा पल था जब आपको लगा कि यह समझ आ गई, या यह कुछ ऐसा था जो आप छोटी उम्र से ही स्वाभाविक रूप से समझते थे? आप इसे कैसे बयान करेंगे?

Lars: ओह, मुझे नहीं पता। मुझे लगता है कि प्रोग्रामिंग करना मैं हमेशा से समझता आया हूँ, है ना?

Jonathan: हाँ।

Lars: लेकिन आमतौर पर, मेरे शुरुआती दिनों में, यह हमेशा प्रोसीजरल प्रोग्रामिंग रही है। तो मुझे याद है कि यूनिवर्सिटी में कभी फंक्शनल प्रोग्रामिंग और लॉजिकल प्रोग्रामिंग का परिचय हुआ था। और प्रोग्रामिंग करने के ये दो बिल्कुल अलग-अलग तरीके हैं। और जहाँ तक मुझे पता है, Prolog भी है। हाँ, Prolog का ट्रैक है। तो जिन्होंने लॉजिकल प्रोग्रामिंग आज़माई नहीं है, मैं उन्हें सुझाव दूँगा कि कुछ Prolog प्रोग्रामिंग करके देखें, और Standard ML भी शायद वहाँ मौजूद है, यह समझने के लिए कि प्रोसीजरल प्रोग्रामिंग के अलावा आप और क्या सोच सकते हैं। लेकिन और भी बहुत कुछ है जो आप कर सकते हैं। तो हाँ, मैं हर दिन कुछ नया सीखता हूँ, इसलिए यह कभी 'क्लिक' नहीं हुआ।

Jonathan: तो आप अब भी सब कुछ से जूझ रहे हैं? नहीं, यह दिलचस्प है क्योंकि मेरा बहुत सारा अनुभव ऐसा रहा है। कि मुझे किसी भाषा जैसी चीज़ में खुद को डुबोना पड़ता है। और फिर अचानक जो कॉन्सेप्ट अजनबी थे, वे रातों-रात बदल जाते हैं। और यह लगभग ऐसा होता है, ओह वाह, यह तो पूरी तरह समझ आ गया। और पॉडकास्ट पर जिन दूसरों से मैंने बात की, उन्होंने भी कहा, हाँ, उनका भी ऐसा ही अनुभव रहा है। और मैंने पूछा कि आपने यह कैसे किया? और उन्होंने कहा, ओह, एक लड़की ने कहा, ओह, मैं तो बस प्रोग्राम की कल्पना एक कहानी की तरह करती हूँ और फंक्शन मेरे किरदार होते हैं, इस तरह की चीज़ें। तो यह काफी दिलचस्प था। लेकिन आपने कैसे तय किया कि ABAP ही वह चीज़ है जिस पर आप ध्यान देंगे? क्या यह बस ऐसा था कि ओह, इससे किराया निकल जाता है, या यह कि मुझे यह सच में पसंद है, मैं इसे JavaScript या जो भी हो उससे ज़्यादा पसंद करता हूँ, और

Lars: प्रोग्रामिंग में उतरना हमेशा संयोग से ही शुरू होता है, है ना? कभी Basic से, कभी कुछ और से, शुरुआत बस संयोग से होती है, और यह एक बहुत चुनौतीपूर्ण प्रोग्रामिंग भाषा के रूप में सामने आई, क्योंकि इसमें अलग-अलग स्टेटमेंट बहुत होते हैं। Java और JavaScript में असल में बहुत ज़्यादा स्टेटमेंट नहीं होते। उनमें बड़ी लाइब्रेरी होती है। ABAP में इसकी तुलना करें तो, हमारे पास बहुत सारी लाइब्रेरी चीज़ें प्रोग्रामिंग भाषा का ही हिस्सा होती हैं, जबकि JavaScript में आप लाइब्रेरी को कॉल करने के लिए उसी तरह के भाषा निर्माण का इस्तेमाल करते हैं।

Jonathan: ठीक है।

Lars: हाँ।

Jonathan: ठीक है। तो यह लगभग ऐसा था कि आपने संयोग से ही ABAP खोज लिया, और अब, आगे देखें तो अगले 10 सालों में, मुझे नहीं पता कि आप इतनी दूर तक सोचना भी चाहेंगे, लेकिन। प्रोग्रामिंग और काम के हिसाब से अगले पाँच से 10 साल आपके लिए कैसे दिखते हैं? क्या आपको कोई अंदाज़ा है कि ओह, मैं यहाँ होना चाहूँगा, मैं यह करना चाहूँगा,

Lars: आह, आपको कभी सच में पता नहीं होता, है ना? तो मैं चीज़ें तब तक जारी रखता हूँ जब तक मुझे वे मज़ेदार लगती हैं, है ना? अगर वे मज़ेदार नहीं रहीं, तो मैं उन्हें छोड़कर कुछ और करता हूँ।

Jonathan: ठीक है, तो यह है

Lars: यही योजना है, है ना? इसे रोज़ चलाने के लिए मज़ेदार होना ज़रूरी है, मेरी राय में। 10 साल बाद भी मेन्यू पर ABAP ही होगा, मुझे लगता है। और बात कुछ हद तक इसी पर आ जाती है। प्रोग्रामिंग भाषाओं और टेक्नोलॉजी के मामले में मैं काफी चूज़ी हूँ। तो मैं ABAP करता हूँ और JavaScript/TypeScript करता हूँ, और फिर कोशिश करता हूँ कि किसी और भाषा में न उलझूँ।

Jonathan: हाँ। ठीक है। लेकिन अगर मैं कहूँ, ठीक है Lars, आपको अब ABAP और JavaScript छोड़ना है और कोई दूसरी प्रोग्रामिंग भाषा उठानी है। कोई अंदाज़ा है कि आप कौन सी चुनेंगे? हाँ, मैं यह करूँगा।

Lars: हाँ, तो हमने APL की बात की थी,

Jonathan: ठीक है। हाँ।

Lars: बहुत बढ़िया, बहुत, शायद मुझसे भी पुरानी भाषा, मुझे नहीं पता, लगभग। APL और PL/1, मुझे लगता है ये दोनों ABAP से पुरानी हैं।

Jonathan: ठीक है। वाह। तो आपको इनमें क्या दिलचस्प लगता है? इनमें आपको क्या खास लगता है?

Lars: APL मैंने सच में आज़माई नहीं है, लेकिन इंटरनेट पर कुछ सिम्युलेटर हैं जिन्हें आप आज़मा सकते हैं। इसमें बहुत सारे ग्रीक अक्षर होते हैं जहाँ सब कुछ मैट्रिक्स होता है, गुणा। मैं नहीं... यह बहुत अजीब लगता है और हाँ, बेवकूफी भरा। लेकिन यही इसे मज़ेदार भी बनाता है, है ना? कुछ तो चुनौती होनी ही चाहिए। और PL/1 तो बस अलग ही है। मुझे यकीन नहीं।

Jonathan: कुछ रहस्यमय और थोड़ा सा

Lars: हाँ। सच में नहीं। मुझे पुरानी क्लासिक चीज़ें करना पसंद है, नई फैंसी चीज़ें नहीं। तो मैं शायद Rust कहूँगा, नहीं। शायद किसी दिन Rust में उतरूँगा, लेकिन वह सच में ऐसा नहीं है, बस इसलिए कि मुझे करना है, इसलिए नहीं कि मैं करना चाहता हूँ।

Jonathan: हाँ। और क्या आपको लगता है कि ABAP इस्तेमाल करने वाले लोगों की संख्या घट रही है या बढ़ रही है, या हाल में इस भाषा में कोई वापसी देखने को मिली है? इस पर आपका क्या नज़रिया है?

Lars: हाँ, यह काफी मुश्किल है, क्योंकि ABAP बड़े-बड़े सिस्टम हैं जो बड़ी बहुराष्ट्रीय कंपनियों के अंदर चलते हैं, इसलिए यह पता लगाना काफी मुश्किल है कि असल में संख्याएँ क्या हैं, कोई सही सार्वजनिक आँकड़े मिलना मुश्किल है। लेकिन चर्चा यह है कि जो डेवलपर इसे कंठस्थ जानते हैं, उनकी उम्र बढ़ रही है और वे मार्केट से बाहर होने के और करीब पहुँच रहे हैं।

Jonathan: ठीक है।

Lars: तो Cobol की तरह, है ना? यह एक पुरानी भाषा है, और नौजवानों को यह ज़्यादा मज़ेदार नहीं लगती, है ना? तो यह मेरे जैसे पुराने लोगों की भाषा है, लेकिन यही वजह है कि हमने असल में ABAP ट्रैक बनाया, है ना? हम और नौजवानों को इस भाषा में लाना चाहते हैं और Exercism एक अच्छा प्लेटफॉर्म है बहुत सी अलग-अलग चीज़ें आज़माने के लिए। बस शुरू कीजिए, और शुरुआत करना बहुत आसान है। साइन अप कीजिए, क्लिक कीजिए, लॉगिन कीजिए। ABAP कोड लिखना शुरू कीजिए। हो गया।

Jonathan: हाँ। और क्या आपने देखा है कि बहुत से लोग यह ट्रैक कर रहे हैं? ABAP ट्रैक?

Lars: हाँ। अब हमारे पास लगभग 5,000 छात्र हैं।

Jonathan: वाह, यह कमाल है। हाँ।

Lars: हाँ, तो यहाँ सितंबर में एक सितंबर... SAP डेवलपर एडवोकेट्स द्वारा आयोजित एक समुदाय कोड चैलेंज था। तो लोगों को प्लेटफॉर्म पर लाने की कोशिश, कुछ अभ्यास आज़माने की, जिनमें हम जिसे इंटरनल टेबल कहते हैं। दूसरी भाषाओं में। ये आमतौर पर ऐरे होते हैं, लेकिन हम इन्हें इंटरनल टेबल कहते हैं, और नेस्टेड इंटरनल टेबल, जिसे दूसरी प्रोग्रामिंग भाषाओं में आमतौर पर ऐरे का ऐरे कहा जाता है।

Jonathan: हाँ।

Lars: तो उससे हमें बहुत सारे नए छात्र मिले। और हमें बहुत सारा फीडबैक भी मिला और GitHub पर बग्स और इश्यूज़ भी। और यह भी ऐसी चीज़ है जिसके हम ABAP की दुनिया में आदी नहीं हैं। कई संगठनों के बीच मिलकर काम करना। असल में GitHub पर कोड साझा करना समुदाय में बहुत आम बात नहीं है।

Jonathan: क्या यह सिर्फ इसलिए है कि लोग... यह बहुत अलग-थलग रहा है, इस मायने में कि यह कंपनी अपना काम करती है और वह कंपनी अपना काम। और इसलिए डेवलपर ज़्यादा बात नहीं करते। वे अपने-अपने संदर्भ में होते हैं और साझा करना और सहयोग थोड़ा कम होता है, या ऐसा क्यों है?

Lars: यह SAP सिस्टम की प्रकृति के कारण भी है क्योंकि यह एक स्टैंडर्ड सिस्टम है। यह आपके लिए कुछ भी कर सकता है, इसलिए आमतौर पर जब मैं ग्राहकों की मदद करता हूँ तो इसलिए क्योंकि ग्राहक को कुछ खास चाहिए होता है।

Jonathan: हाँ।

Lars: और यह कुछ खास होता है, इस हिसाब से कि उनके बिजनेस को अनोखा क्या बनाता है। तो यह शायद ऐसी चीज़ है जिसे दूसरे ग्राहक इस्तेमाल नहीं कर सकते, और न ही करेंगे, क्योंकि वह ग्राहक दूसरे ग्राहक से अलग तरीके से अनोखा है। लेकिन एक ओपन सोर्स समुदाय विकसित हो रहा है जो कोड साझा करता है, लेकिन यह आमतौर पर यूटिलिटीज़ के स्तर पर होता है, लॉगिंग और एरर हैंडलिंग जैसी चीज़ें। लेकिन यह वहाँ तक पहुँचेगा। SAP की दुनिया में किसी भी चीज़ में पाँच साल से ज़्यादा लगते ही हैं।

Jonathan: हाँ। बस हर चीज़ को वह पकड़ बनाने के लिए। तो यह उन चीज़ों में से एक है जो हम शो में आने वाले हर व्यक्ति से पूछते हैं, और मैं... आपने शायद वह डॉक्युमेंट देखा होगा जो मैंने आपको भेजा था, लेकिन हम आमतौर पर लोगों से पूछते हैं कि टेक की दुनिया में वह एक राय या नज़रिया कौन सा है जिस पर आप कायम रहेंगे और समझौता नहीं करेंगे? या आमतौर पर, टेक की दुनिया में वह एक मुद्दा कौन सा है जिसके लिए आप जान दे देंगे, ताकि वह बात हमेशा-हमेशा के लिए टिकी रहे, और यह उतना ही मामूली हो सकता है। जैसे कि मैं हमेशा अपना लॉजिक अपनी CSS के बाद लिखता हूँ, अगर आप फ्रंटएंड में हैं। या यह सच में बहुत छोटी बात हो सकती है, या कुछ ऐसा हो सकता है जैसे मैं GitHub कभी इस्तेमाल नहीं करूँगा, उदाहरण के लिए। हो सकता है, लेकिन आपको अपनी बात सामने रखने योग्य होना चाहिए, अच्छी तरह सोच-समझकर। लेकिन वह एक चीज़, वह एक राय कौन सी है जो आप

Lars: एक... एक। एक राय

Jonathan: ठीक है। मैं आपको दो दे सकता हूँ। मैं आपको दो दे सकता हूँ। हाँ। तीन। ठीक है। तीन। आप तीन राय रख सकते हैं, क्योंकि मुझे पता है कि तकनीकी लोग आमतौर पर बिल्कुल भी राय नहीं रखते।

Lars: हाँ। मुझे लगता है कि अगर लोग मेरा वर्णन करें, तो कभी-कभी मेरी बहुत पक्की राय होती है, और हाँ। तो मेरी मुख्य राय में से एक यह है कि ना कहिए, यह मुमकिन नहीं होगा। कुछ और कीजिए जो समाधान और टेक्नोलॉजी के साथ बेहतर मेल खाता हो। तो Jenkins जैसे टूल इस्तेमाल करने को ना कहिए। Jenkins को ना कहिए, यह उन टूल्स में से एक है जिसका मैं ज़िक्र करना पसंद करता हूँ कि किसी को भी इसे इस्तेमाल नहीं करना चाहिए, है ना?

Jonathan: क्यों? क्यों? ऐसा क्यों है? इसका क्या कारण है?

Lars: अपनी पाइपलाइन को कोड के करीब रखना बहुत आसान होता है। तो अगर आप... मैं तो इसे अब पुराना ही मानता हूँ।

Jonathan: ठीक है। तो यह एब्सट्रैक्शन का एक ऐसा स्तर है जिसे जोड़ने की ज़रूरत नहीं, अगर आपको पता हो कि आप क्या कर रहे हैं।

Lars: हाँ। और दूसरे टूल भी हैं जो चीज़ें बेहतर करते हैं। एक और टूल जिसे मैं छोड़ देना पसंद करता हूँ, वह है Eclipse। Java की दुनिया में, अगर आप पाँच, 10 साल पीछे देखें, तो Eclipse आमतौर पर Java कोड बनाने के लिए इस्तेमाल होता था। मेरे नज़रिए से अब स्थिति यह है कि Eclipse का इस्तेमाल Java कोड बनाने के लिए तो होता ही नहीं। अब आमतौर पर Eclipse में कुछ बड़े एंटरप्राइज़ एप्लिकेशन चलाए जाते हैं, और Eclipse का इस्तेमाल ऐसी चीज़ों के लिए होता है जिसके लिए यह शुरू में बना ही नहीं था। ऐसा करने के और ज़्यादा तरीके नहीं हैं और चुनने के लिए बहुत सारे दूसरे टूल हैं। तो Eclipse पर तो ग्रहण लग ही चुका है।

Jonathan: ठीक है। हाँ, यह अच्छा लगा। और मैं आपको एक और राय देने जा रहा हूँ। तीसरी राय कौन सी है,

Lars: व्हाइट स्पेस, यानी व्हाइट स्पेस। मेरे साइड प्रोजेक्ट्स में से एक ABAP के लिए स्टैटिक एनालिसिस है। और असल में ABAP में, हमारे पास बहुत सारे अलग-अलग स्टेटमेंट हैं, इंडेंटेशन करने के बहुत सारे अलग-अलग तरीके हैं, और ABAP में अपरकेस और लोअरकेस और हंगेरियन नोटेशन, सब कुछ। हाँ। किसी टेक्स्ट में कहीं दो स्पेस होना, यह मुझे सच में परेशान कर देता है।

Jonathan: क्या यह सिर्फ इसलिए है कि इससे सब कुछ गड़बड़ हो जाता है और यह एक दुःस्वप्न है

Lars: यह आपको पटरी से उतार देता है, पढ़ते समय, जैसे कोई टेक्स्ट या कोड का टुकड़ा पढ़ते हुए। ओह, यहाँ दो स्पेस हैं, यह मुझे चौंका देता है।

Jonathan: ठीक है ठीक है, तो मैं... तो Jenkins, अपनी पाइपलाइन को कोड के करीब रखिए। Eclipse, ज़रूरी नहीं। और दोहरा व्हाइट स्पेस। ये तीन राय मैंने आपको दीं, जो गंभीरता के हिसाब से अलग-अलग लगती हैं। तो नहीं, यह सच में बढ़िया है। नहीं, यह अच्छा है। और हाँ, मुझे लगता है कि आपने इन पर अच्छी तरह अपनी बात टिकाए रखी।

Lars: और साथ ही, कंटीन्यूअस इंटीग्रेशन की बात करें तो, कंटीन्यूअस इंटीग्रेशन को कंटीन्यूअस इंतज़ार में मत बदलिए।

Jonathan: ठीक है, तो कोड पुश कीजिए, फिर वह वहीं बैठा रहता है और PR होने का इंतज़ार करता है, क्या आप यही

Lars: डेवलपर को फीडबैक जल्दी मिले, बजाय इसके कि उसे एक घंटा, दो घंटे किसी भी फीडबैक का इंतज़ार करना पड़े।

Jonathan: ठीक है। तो क्या यह इसलिए है कि व्यवस्था के तौर पर यह एक फेल-सेफ है? क्या इसीलिए यह वहाँ रखा जाता है? क्या यह बस रोकने के लिए है ताकि चीज़ों की समीक्षा हो सके, या ऐसा क्यों

Lars: बस खराब आर्किटेक्चर।

Jonathan: हाँ। ठीक है। ठीक है। दिलचस्प। ठीक है, तो आज का अंतिम सवाल। मुझे उम्मीद है कि आपको अब तक मज़ा आया, लेकिन मैं आपसे यह पूछना चाहता था। इस हफ्ते के लिए आप Exercism समुदाय को क्या सुझाव देंगे? अगर आप समुदाय के लिए एक चीज़ का सुझाव देना चाहें, तो वह क्या होगी? कुछ भी हो सकती है। सुशी खाइए। नदी में कूद जाइए, जो भी हो

Lars: बेशक, ट्रैक आज़माइए। शायद वही

Jonathan: मैं आपको यह मुफ्त में दे देता हूँ। यह तो मुफ्त का जवाब है। मुफ्त का जवाब है, ठीक है।

Lars: लेकिन बेशक, जैसा पहले कई बार कहा, मज़ा लेना याद रखिए। मज़ेदार होना ज़रूरी है। तो कभी-कभी, भले ही कुछ अजीब विचार हों, अगर वह मज़ेदार है, तो बस आज़मा लीजिए। देखिए क्या होता है। ओपन सोर्स प्रोजेक्ट्स बनाने में भी मैं आमतौर पर यही कहता हूँ। बस उसमें कूद पड़िए, देखिए मज़ेदार है या नहीं। आज़माइए। अगर काम नहीं करता, तो कोई बात नहीं। फिर अगली पार्टी या अगले ओपन सोर्स प्रोजेक्ट या भाषा की ओर बढ़ जाइए।

Jonathan: हाँ।

Lars: क्योंकि टेक की दुनिया में और टेक की दुनिया के बाहर भी करने को इतनी चीज़ें हैं कि अगर आप हर समय ऊबते रहें, तो यह सच में इसके लायक नहीं है।

Jonathan: हाँ, नहीं, ज़रूर। नहीं, यह अच्छा सुझाव है। तो जो भी बाहर हैं, टेक की दुनिया में कुछ मज़ा कीजिए। अंत में, आज आपके समय के लिए बहुत-बहुत धन्यवाद। सच में आभारी हूँ। बस थोड़ी देर और रुकिए, जब मैं रिकॉर्डिंग बंद कर दूँगा, हम अंत में बात कर लेंगे। लेकिन मैं बस बहुत बड़ा धन्यवाद कहना चाहता था। और जो भी बाहर रुचि रखते हैं, ABAP ट्रैक देखिए। जाकर कुछ अभ्यास कीजिए। देखिए कि आप इसमें कैसे आगे बढ़ते हैं। और अगर आप ऐसी चीज़ सीखना चाहते हैं जो काफी समय से मौजूद है और फिर से बढ़ रही है, महत्व और प्रभाव में, तो कह सकते हैं, क्योंकि यह कई बड़े बहुराष्ट्रीय प्लेटफॉर्म की बुनियाद है। ऐसे लोग जिन्हें आप पहचानेंगे, ऐसी कंपनियाँ जिन्हें आप पहचानेंगे। अगर आप अंदर की जानकारी सीखना चाहते हैं, तो ABAP ज़रूर देखने लायक है। Lars, जब हम वहाँ पहुँचेंगे तो आपके सारे शो लिंक हम नीचे विवरण में डाल देंगे। लेकिन तब तक, बहुत-बहुत धन्यवाद और मैं कुछ ही देर में आपसे फिर बात करूँगा। और हाँ, एक बार फिर धन्यवाद। आभारी हूँ।

हमारी कम्युनिटी की और कहानियाँ

हमारी कम्युनिटी के सदस्यों को सुनिए, उनसे सीखिए और प्रेरणा पाइए।