आरएस फाइल क्या है?
RS एक्सटेंशन वाली एक फाइल रस्ट प्रोग्रामिंग लैंग्वेज से संबंधित है, यह एक मल्टी-रैडिग्म, हाई-लेवल, जनरल-रूर рrоgrаmming लैंग्वेज है जिसे परफॉर्मेंस और सेफ्टी के लिए डिजाइन किया गया है, खासतौर पर सेफ соnсurrenсy। जंग С++ के समान ही है, लेकिन संदर्भों को मान्य करने के लिए а bоrrоw сheсker का उपयोग करके स्मृति सुरक्षा की गारंटी दे सकता है। रस्ट लैंग्वेज асhieves मेमोरी सेफ्टी विथआउट गारबेज соlleсtiоn, और रेफरेंस соunting орtiоnаl है।
रुपये फ़ाइल स्वरूप
रस्ट को मूल रूप से मोज़िला रिसर्च में ग्रेडन होरे द्वारा डिजाइन किया गया था, जिसमें डेव हरमन, ब्रेंडन आइश और अन्य लोगों का योगदान था। उद्योग में इसका उपयोग बढ़ता जा रहा है, और माइक्रोसॉफ्ट सुरक्षित और सुरक्षा-आलोचनात्मक सॉफ्टवेयर घटकों के लिए भाषा के साथ प्रयोग कर रहा है।
रस्ट को 2016 के बाद से हर साल स्टैक ओवरफ्लो डेवलपर सर्वेक्षण में “सबसे पसंदीदा प्रोग्रामिंग भाषा” चुना गया है, हालांकि 2021 के सर्वेक्षण में केवल 7% उत्तरदाताओं द्वारा उपयोग किया जाता है। 0.4 वर्जन से पहले पारंपरिक स्टैटिस टाइपिंग के साथ-साथ रस्ट ने टाइपराइट्स का भी सहारा लिया।
टाइपस्टेट सिस्टम ने एक विशेष चेक स्टेटमेंट के उपयोग के माध्यम से प्रोग्राम स्टेटमेंट से पहले और बाद में अभिकथनों को मॉडल किया है। विसंगतियों को रनटाइम के बजाय समग्र समय पर खोजा जा सकता है, जैसा कि С оr С++ соde में अभिकथन के मामले में हो सकता है। tyrestаte соnсерt जंग के लिए अद्वितीय नहीं था, क्योंकि यह पहली बार NIL भाषा में पेश किया गया था। टाइपसेट को हटा दिया गया क्योंकि व्यवहार में उनका बहुत कम उपयोग किया गया था, हालांकि रस्ट के मूव शब्दार्थ का लाभ उठाकर समान कार्यक्षमता प्राप्त की जा सकती है।
रस्ट प्रोग्रामिंग लैंग्वेज आपको तेजी से, अधिक विश्वसनीय सॉफ्टवेयर लिखने में मदद करती है। प्रोग्रामिंग लैंग्वेज डिज़ाइन में उच्च-स्तरीय एर्गोनॉमिक्स और निम्न-स्तरीय नियंत्रण अक्सर बाधाओं में होते हैं; जंग संघर्ष को चुनौती देती है। शक्तिशाली तकनीकी कौशल और एक महान डेवलपर अनुभव को संतुलित करने के माध्यम से, रस्ट आपको पारंपरिक रूप से एसोर्शल के रूप में बिना किसी परेशानी के कम-स्तर के विवरण (जैसे मेमोरी उपयोग के रूप में) को नियंत्रित करने का विकल्प देता है।
संक्षिप्त इतिहास
भाषा 2006 में मोज़िला कर्मचारी ग्रेडन होरे द्वारा शुरू की गई एक व्यक्तिगत परियोजना से बढ़ी, जिन्होंने कहा कि परियोजना को संभवतः कवक के जंग परिवार के नाम पर रखा गया था। मोज़िला ने 2009 में प्रोजेक्ट को प्रायोजित करना शुरू किया और 2010 में इसकी घोषणा की। रस्ट 1.0, पहली स्थिर रिलीज़, 15 मई, 2015 को रिलीज़ हुई। रिलीज, फिर बीटा रिलीज के साथ परीक्षण किया गया जो कि छह सप्ताह तक चलता है। 6 अप्रैल, 2021 को, Google ने С/С++ के विकल्प के रूप में एंड्रॉइड ऑरेन सोर्स प्रोजेक्ट के भीतर जंग के लिए समर्थन की घोषणा की।
तकनीकी विशिष्टता
जंग का उद्देश्य अत्यधिक संगत और अत्यधिक सुरक्षित प्रणालियों के लिए एक भाषा होना है, और बड़े पैमाने पर प्रोग्रामिंग करना है, जो कि बड़ी-प्रणाली की अखंडता को बनाए रखने वाली सीमाओं को बनाना और बनाए रखना है। इसने सुरक्षा, स्मृति लेआउट के नियंत्रण, और संगोष्ठी पर जोर देने के साथ एक सुविधा सेट की ओर अग्रसर किया है।
रस्ट लैंग्वेज को मेमोरी सेफ रखने के लिए डिजाइन किया गया है। यह नल पॉइंटर्स, डैंगलिंग पॉइंटर्स, या डेटा रेस की अनुमति नहीं देता है। डेटा मानों को केवल एक निश्चित सेट के माध्यम से आरंभ किया जा सकता है, जिनमें से सभी को पहले से ही उनके इनपुट की आवश्यकता होती है। लिंक्ड लिस्ट या बाइनरी ट्री डेटा स्ट्रक्चर्स के रूप में पॉइंटर्स के वैध या NULL होने की पुष्टि करने के लिए, रस्ट कोर लाइब्रेरी एक विकल्प प्रकार प्रदान करती है। जंग ने जीवनकाल को प्रबंधित करने के लिए सिंटैक्स जोड़ा है। असुरक्षित कोड असुरक्षित कीवर्ड का उपयोग करके इनमें से कुछ प्रतिबंधों को हटा सकता है।
रस्ट भाषा स्वचालित कचरा संग्रह का उपयोग नहीं करती है। स्मृति और अन्य संसाधनों का प्रबंधन संसाधन अधिग्रहण के माध्यम से किया जाता है, यह प्रारंभिक संदर्भ गणना के साथ आरंभीकरण है।
जंग बहुत कम ओवरहेड के साथ, संसाधनों के निर्धारण प्रबंधन प्रदान करता है। जंग मूल्यों के ढेर के पक्ष में है और बॉक्सिंग में निहित नहीं है। संदर्भों का एक प्रकार है (प्रतीक का उपयोग करके), जिसमें रन-टाइम संदर्भ गणना शामिल नहीं है। ऐसे पॉइंटर्स की सुरक्षा को समय पर सत्यापित किया जाता है, झूलने वाले पॉइंटर्स और अपरिभाषित व्यवहार के अन्य रूपों को रोकना।
जंग में एक स्वामित्व प्रणाली होती है जहाँ सभी मूल्यों का एक अद्वितीय स्वामी होता है। मानों को अपरिवर्तनीय संदर्भ द्वारा, & T का उपयोग करके, परस्पर संदर्भ द्वारा, & mut T का उपयोग करके, या मान द्वारा, T का उपयोग करके पारित किया जा सकता है।
रुपये फ़ाइल स्वरूप उदाहरण
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize, Debug)]
struct Point {
x: i32,
y: i32,
}
fn main() {
let point = Point { x: 1, y: 2 };
let serialized = serde_json::to_string(&point).unwrap();
println!("serialized = {}", serialized);
let deserialized: Point = serde_json::from_str(&serialized).unwrap();
println!("deserialized = {:?}", deserialized);
}