Rust को फिर से लिखना
- Rust programming language पहली पीढ़ी के प्रोडक्ट जैसी महसूस होती है
- Rust की शुरुआती आकर्षण: algebraic types, memory safety, performance में कोई गिरावट नहीं, modern package manager
- 4 साल इस्तेमाल करने के बाद, Rust हमेशा परफेक्ट नहीं है
- भाषा का विकास बहुत धीमा हो गया है
- कई unstable features stable Rust में शामिल नहीं हैं
एक शानदार भाषा
- Rust compiler को fork करके नया "seph" edition बनाना चाहता हूँ
- Rust की मौजूदा सुविधाओं को बनाए रखते हुए नई सुविधाएँ जोड़ी जा सकती हैं
function traits (effects)
- Rust में struct पर trait define किए जाते हैं, लेकिन functions पर भी trait define करने की ज़रूरत है
- इससे function की अलग-अलग विशेषताएँ बताई जा सकती हैं
- function panic करता है या नहीं
- क्या उसका stack size fixed है
- function अंत तक चलता है या बीच में await करता है
- function pure है या नहीं
- function unsafe code चलाता है या नहीं
- function termination की गारंटी देता है या नहीं
compile-time features
- कई Rust projects बहुत सारे third-party crates का उपयोग करते हैं
- ये crates supply chain risk बढ़ाते हैं
- security-sensitive function calls को explicitly allow करने वाली सुविधा जोड़ने का प्रस्ताव
fs_write जैसी सुविधा को call करने के लिए explicit अनुमति देनी होगी
Pin, Move और struct borrowing
Pin, Rust के borrow checker की समस्याओं को हल करने के लिए एक जटिल hack है
Pin की जगह Move marker trait का उपयोग करना अधिक उचित होगा
- struct fields को borrowed state में mark करने के लिए syntax जोड़ने का प्रस्ताव
Move marker trait और Mover trait लाने का प्रस्ताव
compile-time
- Zig के
comptime feature को लाकर Rust macro language को replace करना
- compile-time पर code चलाने के लिए एक छोटा interpreter जोड़ना
- Rust की macro language की जगह Rust खुद का उपयोग करना
छोटे बदलाव
impl<T: Copy> for Range<T> में सुधार
- associated types वाले
derive में सुधार
if-let expressions में logical AND support
- raw pointers की usability बेहतर करना
- सभी built-in collection types में
Allocator argument जोड़ना
समापन विचार
- asynchronous features में भी सुधार की ज़रूरत है, लेकिन उसके लिए अलग पोस्ट चाहिए
- ज़्यादातर बदलाव मौजूदा Rust के साथ compatible नहीं हैं
- Rust का नया edition ज़रूरी हो सकता है
- GitHub RFC process से थकने के बजाय compiler को सीधे fork करने पर विचार कर रहा हूँ
GN⁺ का सार
- शुरुआती आकर्षण के बावजूद Rust परफेक्ट नहीं है
- भाषा का विकास धीमा हो गया है और कई unstable features stable Rust में शामिल नहीं हैं
- function traits, compile-time features, Pin और Move में सुधार जैसी कई प्रस्तावनाएँ हैं
- ये प्रस्ताव Rust की usability को काफ़ी बेहतर बना सकते हैं
- समान सुविधाओं वाली दूसरी भाषा के रूप में Zig का उल्लेख किया गया है
1 टिप्पणियां
Hacker News राय
Rust RFC process पर राय
Rust की dependency समस्या
Rust की मौजूदा स्थिति
Rust को फिर से लिखने पर राय
Rust की decision process पर असंतोष
Josh Triplett की टिप्पणी
Rust की complexity पर राय
Rust की गति पर राय
Mutex सुधार पर राय
Rust की feature development speed पर राय
Rust की feature design पर राय
Rust के borrow checker की समस्या
Rust की compile-time features
Rust की unstable features
Rust की development speed पर राय