Rust का परिचय: अभी क्यों शुरू करना चाहिए
\n\nRust एक सिस्टम प्रोग्रामिंग भाषा है जो C++ के प्रदर्शन को कंपाइलर स्तर पर गारंटीकृत मेमोरी सुरक्षा के साथ जोड़ती है। 2025 में Rust लगातार सक्रिय रूप से विकसित हो रहा है: इसका उपयोग Linux कर्नेल, Firefox ब्राउज़र, कमांड-लाइन टूल और यहां तक कि वेब डेवलपमेंट (WebAssembly के माध्यम से) में किया जाता है। यदि आपने अभी तक Rust को आज़माया नहीं है, तो अब सबसे अच्छा समय है — समुदाय अधिक मैत्रीपूर्ण हो गया है, टूलकिट अधिक सुविधाजनक हो गया है, और दस्तावेज़ीकरण और भी अधिक संपूर्ण हो गया है।
\n\nइस लेख में हम इंस्टॉलेशन से लेकर एक सार्थक प्रोग्राम लिखने तक का सफर तय करेंगे। आप सीखेंगे कि वातावरण कैसे सेट करें, पहला कोड कैसे लिखें, प्रमुख अवधारणाओं (स्वामित्व, उधार, lifetimes) को कैसे समझें और उन्हें तुरंत व्यवहार में कैसे लागू करें। लेख के अंत तक आपके पास एक काम करने वाला प्रोजेक्ट होगा और यह समझ होगी कि आगे कहाँ बढ़ना है।
\n\n1. Rust इंस्टॉलेशन और वातावरण सेटअप
\n\n1.1. rustup के माध्यम से इंस्टॉलेशन
\n\nRust स्थापित करने का सबसे आसान तरीका आधिकारिक टूल rustup का उपयोग करना है। यह कंपाइलर के संस्करणों का प्रबंधन करता है और आसानी से अपडेट करने की अनुमति देता है। टर्मिनल खोलें और कमांड चलाएँ:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n\nइंस्टॉलेशन के बाद टर्मिनल को पुनरारंभ करें या source $HOME/.cargo/env चलाएँ। जाँच करें कि सब कुछ काम कर रहा है:
rustc --version\ncargo --version\n\nआपको कुछ इस तरह देखना चाहिए rustc 1.78.0 (2024-05-02) — संस्करण भिन्न हो सकता है, लेकिन मुख्य बात यह है कि कमांड त्रुटियों के बिना निष्पादित होते हैं।
1.2. Cargo क्या है?
\n\nCargo Rust के लिए पैकेज मैनेजर और बिल्ड सिस्टम है। यह स्वचालित रूप से निर्भरताएँ डाउनलोड करता है, कोड संकलित करता है और प्रोजेक्ट प्रबंधित करता है। आपको मैन्युअल रूप से rustc कॉल करने की आवश्यकता नहीं होगी — Cargo आपके लिए सब कुछ करेगा।
1.3. संपादक और IDE
\n\nआरामदायक काम के लिए मैं उपयोग करने की सलाह देता हूँ:
\n- \n
- VS Code
rust-analyzerएक्सटेंशन के साथ — ऑटो-कम्प्लीशन, त्रुटि जाँच, रीफैक्टरिंग। \n - IntelliJ IDEA Rust प्लगइन के साथ — शक्तिशाली टूल, लेकिन अधिक संसाधनों की आवश्यकता है।
- Vim/Neovim coc-rust-analyzer के साथ — कंसोल डेवलपर्स के लिए।
एक्सटेंशन स्थापित करने के बाद प्रोजेक्ट फ़ोल्डर खोलें — rust-analyzer स्वचालित रूप से सेटिंग्स ले लेगा।
\n\n2. Rust पर पहला प्रोग्राम लिखना
\n\n2.1. Cargo के माध्यम से प्रोजेक्ट बनाना
\n\nएक नया प्रोजेक्ट बनाते हैं:
\n\ncargo new hello_rust\ncd hello_rust\n\nकमांड cargo new Cargo.toml फ़ाइल (प्रोजेक्ट मेनिफेस्ट) और main.rs फ़ाइल के साथ src सबफ़ोल्डर वाला एक फ़ोल्डर बनाता है। src/main.rs खोलें — वहाँ पहले से ही एक टेम्पलेट है:
fn main() {\n println!("Hello, world!");\n}\n\nप्रोग्राम चलाएँ:
\n\ncargo run\n\nआप कंसोल में Hello, world! देखेंगे। बधाई हो — आपने अभी-अभी Rust पर अपना पहला प्रोग्राम संकलित और निष्पादित किया है!
2.2. कोड संरचना का विश्लेषण
\n\n- \n
fn main()— प्रोग्राम का प्रवेश बिंदु। Rust पर सभी प्रोग्राम इस फ़ंक्शन से शुरू होते हैं। \n println!— कंसोल में टेक्स्ट आउटपुट करने के लिए मैक्रो। विस्मयादिबोधक चिह्न मैक्रो को सामान्य फ़ंक्शन से अलग करता है। \n - स्ट्रिंग सेमीकोलन के साथ समाप्त होती है — यह अनिवार्य है (मान लौटाने वाले एक्सप्रेशन को छोड़कर)। \n
3. Rust की मुख्य अवधारणाएँ: वेरिएबल, प्रकार और मेमोरी प्रबंधन
\n\n3.1. वेरिएबल और अपरिवर्तनीयता
\n\nRust में वेरिएबल डिफ़ॉल्ट रूप से अपरिवर्तनीय होते हैं। यह बग नहीं बल्कि एक फीचर है — इस तरह कंपाइलर गारंटी देता है कि डेटा गलती से नहीं बदलेगा। वेरिएबल को परिवर्तनीय बनाने के लिए, कीवर्ड mut का उपयोग करें:
fn main() {\n let x = 5; // अपरिवर्तनीय\n // x = 6; // त्रुटि: cannot assign twice to immutable va