OpenD, एक D भाषा का फोर्क जो आपके योगदानों के लिए खुला है
D प्रोग्रामिंग भाषा का एक नया समुदाय-नेतृत्वित फोर्क, OpenD, शासन, तकनीकी दिशा, और क्या D अभी भी C++, Rust, Go, C# और Java से भरी दुनिया में एक व्यवहार्य निच बना सकता है, इस पर बहस छेड़ रहा है। टिप्पणीकार वर्षों की धीमी या उपेक्षापूर्ण नेतृत्व-शैली, अनसुलझे डिज़ाइन विभाजन (विशेषकर garbage collection और lifetimes के आसपास), और कमजोर पारितंत्र का हवाला देते हैं—इन सबके बावजूद D के पास मजबूत तकनीकी विचार थे। कई लोग इस फोर्क को D को GC अपनाने और योगदानों पर गेटकीपिंग ढीली करने के ज़रिए पुनर्जीवित करने का आख़िरी मौका मानते हैं, जबकि अन्य को संदेह है कि यह विखंडन को पार कर पाएगा या बेहतर-वित्तपोषित, अधिक व्यापक रूप से अपनाई गई भाषाओं से प्रतिस्पर्धा कर पाएगा।
फोर्क का दायरा (“OpenD”)
- इस फोर्क को धीमी और कठिन अपस्ट्रीम निर्णय-प्रक्रिया, खासकर भाषा परिवर्तनों और योगदानों के संदर्भ में, एक प्रतिक्रिया के रूप में प्रस्तुत किया गया है।
- कुछ लोग इसे “Tango 2.0” की पुनरावृत्ति मानते हैं और संदेह करते हैं कि इससे बहुत कुछ बदलेगा; जबकि अन्य उम्मीद करते हैं कि शासन-व्यवस्था को रीबूट करके D को “बचाने” का यही एकमात्र तरीका है।
- एक ठोस उदाहरण: स्ट्रिंग इंटरपोलेशन प्रस्तावों पर असहमति, जहाँ फोर्क ने पहले ही अपस्ट्रीम डिज़ाइन के विकल्प के रूप में एक वैकल्पिक समाधान जारी कर दिया था।
नामकरण और पहचान
- कई मज़ाकिया नाम-प्रस्ताव (जैसे “D”, “open”, “free” पर शब्द-खेल), और अक्सर यह टिप्पणी कि “OpenD” फीका है और ऐसी संगतता का संकेत देता है जिसे यह बनाए नहीं रख सकता।
- कई लोग D नाम को पूरी तरह छोड़ने का सुझाव देते हैं ताकि वास्तविक अलगाव का संकेत मिले, लेकिन अन्य लोग D के मौजूदा ब्रांड और टूलिंग का लाभ लेने में मूल्य देखते हैं।
शासन और नेतृत्व पर आलोचना
- भाषा नेतृत्व से लंबे समय से असंतोष: कथित अहंकार, उपेक्षापूर्ण रवैया, बाहरी विचारों के प्रति प्रतिरोध, और पैच मर्ज करवाने में कठिनाई।
- अन्य लोग जवाब देते हैं कि भाषा-डिज़ाइनरों को अक्सर “ना” कहना पड़ता है और लगातार आलोचना के बावजूद नेतृत्व समग्र रूप से सभ्य रहा है।
- भाषा चुनते समय शासन-व्यवस्था को एक प्रमुख मानदंड के रूप में रेखांकित किया गया है; BDFL-शैली का नियंत्रण पसंद के अनुसार स्पष्टता भी देता है और जोखिम भी।
तकनीकी दिशा: GC, सिस्टम्स प्रोग्रामिंग, और निच
- प्रमुख विभाजन-रेखा: garbage collection।
- एक पक्ष: डिफ़ॉल्ट रूप से GC एक ताकत है (उत्पादकता, आसान CTFE);
@nogcउपयोगकर्ताओं को खुश करने की कोशिश ने सीमित लाभ के लिए उच्च लागत थोपी है। - विरोधी पक्ष: GC की उपस्थिति D को C/C++ के विकल्प के रूप में स्वाभाविक रूप से सीमित करती है और इसे अधिक शक्तिशाली GC पारितंत्रों (C#, Java, Go) के सामने खड़ा करती है; वैकल्पिक GC को एक डिज़ाइन dead-end कहा गया है।
- एक पक्ष: डिफ़ॉल्ट रूप से GC एक ताकत है (उत्पादकता, आसान CTFE);
- कुछ लोग तर्क देते हैं कि D का GC तकनीकी रूप से पुराना हो चुका है; यदि GC अपनाया जाता है, तो इसे काफी बेहतर बनाना होगा।
- अन्य लोग D की वास्तविक निच को बेहतर C/C++ मानते हैं, betterC, allocators, native code, और सरल सिंटैक्स के माध्यम से, जिससे GC-केंद्रित फोर्क रणनीतिक रूप से अजीब लगता है।
पारितंत्र, टूलिंग, और समुदाय का स्वास्थ्य
- बार-बार शिकायतें: कमजोर लाइब्रेरी पारितंत्र, खराब या असमान IDE समर्थन, और विशेष रूप से Windows पर शुरुआती लोगों का कठिन अनुभव।
- कई लोग नोट करते हैं कि Rust और Go जैसी भाषाएँ केवल बेहतर कोर भाषा फीचर्स से नहीं, बल्कि मजबूत पारितंत्र और batteries-included टूलिंग बनाकर सफल हुईं।
- कुछ लोग चाहते हैं कि D सुसंगत, व्यावहारिक मानक लाइब्रेरी और “वास्तविक ऐप्स shipping” पर ध्यान दे, Go के दृष्टिकोण का अनुकरण करते हुए।
ऐतिहासिक संदर्भ और तुलना
- कई लोगों को लगता है कि D ने शुरुआती तकनीकी बढ़त हासिल की थी, लेकिन जब C++11+, Go, Rust, Nim, Zig, C#, और अन्य ने समान विचारों को अपना लिया, तो वह बढ़त खो दी।
- अन्य पारितंत्रों में फोर्क्स (LibreOffice, MariaDB, Nextcloud, Jenkins, Chromium/WebKit, X.Org, आदि) को इस बात के प्रमाण के रूप में उद्धृत किया गया है कि फोर्क सफल हो सकते हैं, लेकिन केवल व्यापक समुदाय-समर्थन और दीर्घकालिक प्रतिबद्धता के साथ।