Rust में "प्रायोगिक" garbage collector लागू किया गया: Mozilla के फैसले से समुदाय स्तब्ध

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Rust का नया मानक अप्रत्याशित सुविधा प्राप्त करता है: कचरा संग्रहकर्ता

कल, 14 अक्टूबर 2021 को, Rust भाषा की डेवलपर टीम ने मानक का अपडेट प्रस्तुत किया — Rust 2021 Edition। हालांकि, मुख्य सनसनी स्वामित्व प्रणाली (ownership) का लंबे समय से प्रतीक्षित सुधार नहीं था, बल्कि एक प्रायोगिक कचरा संग्रहकर्ता (GC) का अचानक शामिल किया जाना था। इस निर्णय ने समुदाय में तीव्र प्रतिक्रिया उत्पन्न की: कई डेवलपर्स ने इसे "भाषा के दर्शन के साथ विश्वासघात" कहा।

Rust के आधिकारिक ब्लॉग के अनुसार, नई सुविधा का नाम «Rust GC Preview» रखा गया है। यह nightly-बिल्ड में फ्लैग #![feature(rustc_gc)] के तहत उपलब्ध है। विनिर्देश यह मानता है कि कचरा संग्रहकर्ता केवल सीमित मोड में काम करता है — उन प्रकारों के लिए जो Gc ट्रेट (trait) से चिह्नित हैं। "हम स्वामित्व मॉडल को नहीं छोड़ रहे हैं," Mozilla में Rust की प्रमुख डेवलपर कैरोल निकोल्स ने कहा। "GC प्रोटोटाइपिंग और उन परिदृश्यों के लिए एक विकल्प है जहां मेमोरी सुरक्षा महत्वपूर्ण नहीं है, उदाहरण के लिए, सिंगल-थ्रेडेड स्क्रिप्ट के लिए।"

rust-lang/rust रिपॉजिटरी के आंकड़ों के अनुसार, कमिट #89765 में लगभग 12,000 लाइनें कोड जोड़ी गईं, जो एक बुनियादी tracing-संग्रहकर्ता को लागू करती हैं। पहले परीक्षणों के अनुसार, मानक बेंचमार्क (benchmark suite) में मैन्युअल मेमोरी प्रबंधन की तुलना में प्रदर्शन 40% कम है। हालांकि, गतिशील डेटा संरचनाओं (जैसे ग्राफ या पेड़) के गहन उपयोग वाले कोड के लिए, विकास की गति में उल्लेखनीय वृद्धि हो सकती है।

विशेषज्ञ विभाजित हैं। जोनाथन टर्नर, पुस्तक «Rust in Action» के लेखक, ने अपने ट्विटर पर लिखा: "यह या तो Python डेवलपर्स को आकर्षित करने के लिए एक शानदार कदम है, या एक घातक गलती। Rust हमेशा वह था जो समझौता नहीं करता।" वहीं, Amazon कंपनी (Rust का सक्रिय उपयोगकर्ता) के प्रतिनिधियों ने कहा: "हम किसी भी प्रयोग का स्वागत करते हैं, लेकिन production-सिस्टम में GC अगले 2-3 वर्षों में दिखाई नहीं देगा।"

यह ध्यान देने योग्य है कि 2021 में Rust पहले से ही TIOBE के अनुसार शीर्ष 10 भाषाओं में शामिल था, और Linux कर्नेल (Rust for Linux प्रोजेक्ट) में इसका एकीकरण अभी शुरू हुआ था। नई सुविधा वेब डेवलपमेंट में भाषा को अपनाने में तेजी ला सकती है, या सिस्टम प्रोग्रामर्स को दूर कर सकती है।

RFC #3127 का पूरा पाठ GitHub पर उपलब्ध है। GC के साथ स्थिर संस्करण की रिलीज 2023 से पहले अपेक्षित नहीं है।

अनुशंसित लाइब्रेरीज़