రస్ట్ (ప్రోగ్రామింగ్ భాష)
రస్ట్ అనేది మోజిల్లా పరిశోధన సమర్పిస్తున్న సిస్టమ్ ప్రోగ్రామింగ్ భాష.[15][16] ఇది సురక్షిత, ఏకాకాలిక, ఆచరణాత్మక భాషగా రూపకల్పన చేశారు,[17] ఇది సి++ను పోలి ఉన్నా మెమొరీ సేఫ్టీ విషయంలో మరింత మెరుగ్గా రూపకల్పన చేశారు.రస్ట్ను మొదట గ్రేడాన్ హోరే రూపొందించారు. డేవ్ హెర్మన్, బ్రెండన్ ఈచ్ ఇతరుల సహకారంతో ఈ ప్రోగ్రామింగ్ భాష అభివృద్ధి చేయడంలో సహకరించారు.[18]
విడుదల | జూలై 7, 2010 |
---|---|
రూపకర్త | గ్రేడాన్ హోరే |
అభివృద్ధికారు | మొజిల్లా |
స్థిర విడుదల | 1.44.0[1] (జూన్ 4, 2020 ) |
టైపింగు డిసిప్లిన్ | Inferred, affine, nominal, static, strong |
ప్రభావితం | Alef,[2] C#,[2] C++,[2] Cyclone,[2][3] Erlang,[2] Haskell,[2] Limbo,[2] Newsqueak,[2] OCaml,[2] Ruby,[2] Scheme,[2] Standard ML,[2] Swift[2][4] |
ప్రభావం | Crystal, Zig, Elm,[5] Idris,[6] Spark,[7] Swift,[8] Project Verona[9] |
ఆచరణ భాష | రస్ట్ |
వేదిక | ARM, IA-32, x86-64, MIPS, PowerPC, SPARC, RISC-V[10][11] |
నిర్వాహక వ్యవస్థ | Linux, macOS, Windows, FreeBSD, OpenBSD,[12] Redox, Android, iOS[13] |
లైసెన్సు | MIT or Apache 2.0[14] |
దస్త్ర పొడిగింత(లు) | .rs, .rlib |
2016 నుంచి ప్రతి సంవత్సరం స్టాక్ ఓవర్ ఫ్లో డెవలపర్ సర్వేలో రస్ట్ అత్యంత ఆదరణపొందిన ప్రోగ్రామింగ్ లాంగ్వేజ్ గా ఉంది.[19]
రూపకల్పన
మార్చురస్ట్ అత్యంత ఏకకాలిక , సురక్షితమైన భాషగా ఉద్దేశించబడింది. ఇది భద్రత, మెమరీ లేఅవుట్ నియంత్రణ ,సమకాలీకరణకు ప్రాధాన్యతనిచ్చే ప్రోగ్రామింగ్ భాష.[20][21]
సింటాక్స్
మార్చురస్ట్ నిర్మాణం సి , సి ++ లను పోలి ఉంటుంది, మీసాల బ్రాకెట్ల ద్వారా వేరు చేయబడిన కోడ్ బ్లాక్లు, if, else, while, for కీవర్డ్ లు కలిగి ఉంది.
రస్ట్ మెమరీ సురక్షితంగా ఉండేలా రూపొందించబడింది . అందువల్ల ఇది శూన్య(null) పాయింటర్లు, డాంగ్లింగ్(dangling) పాయింటర్లు లేదా డేటా రేసులను (data race) సురక్షిత కోడ్లో అనుమతించదు.[22]
గో (Go), జావా (java) , .NET ఫ్రేమ్వర్క్ వంటి ఆటోమేటెడ్ గార్బేజ్ కలెక్టర్ వ్యవస్థను రస్ట్ ఉపయోగించదు.
రస్ట్ ప్రోగ్రామింగ్ ఉదాహరణలు
మార్చుfn main() {
println!("Hello World!");
}
ప్రాజెక్ట్స్
మార్చువెబ్ బ్రౌజర్ మొజిల్లా ఫైర్ ఫాక్స్ లో సర్వో (servo), క్వాంటం (quantum) భాగాలు రూపకల్పనకు రెస్ట్ ప్రోగ్రామింగ్ ఉపయోగించారు.[23][24]
అనేక ఆపరేటింగ్ సిస్టమ్స్ (OS), సంబంధిత భాగాలు రస్ట్లో వ్రాయబడుతున్నాయి.[25]
మూలాలు
మార్చు- ↑ The Rust Release Team (4 June 2020). "Announcing Rust 1.44.0". The Rust Programming Language Blog. Retrieved 4 June 2020.
- ↑ 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 2.11 2.12 "The Rust Reference: Appendix: Influences". Retrieved November 11, 2018.
Rust is not a particularly original language, with design elements coming from a wide range of sources. Some of these are listed below (including elements that have since been removed): SML, OCaml [...] C++ [...] ML Kit, Cyclone [...] Haskell [...] Newsqueak, Alef, Limbo [...] Erlang [...] Ruby [...] Swift [...] Scheme [...] C# [...]
- ↑ "Note Research: Type System". 2015-02-01. Retrieved 2015-03-25.
Papers that have had more or less influence on Rust, or which one might want to consult for inspiration or to understand Rust's background. [...] Region based memory management in Cyclone [...] Safe memory management in Cyclone
- ↑ "RFC for 'if let' expression". Retrieved December 4, 2014.
- ↑ "Command Optimizations?". 2014-06-26. Retrieved 2014-12-10.
I just added the outline of a Result library that lets you use richer error messages. It's like Either except the names are more helpful. The names are inspired by Rust's Result library.
- ↑ "Idris – Uniqueness Types". Retrieved 2018-11-20.
- ↑ Jaloyan, Georges-Axel (19 October 2017). "Safe Pointers in SPARK 2014". arXiv:1710.07047. Bibcode:2017arXiv171007047J.
{{cite journal}}
: Cite journal requires|journal=
(help) - ↑ Lattner, Chris. "Chris Lattner's Homepage". Nondot.org. Retrieved 2019-05-14.
- ↑ "Microsoft opens up Rust-inspired Project Verona programming language on GitHub". Retrieved 2020-01-17.
Microsoft recently created a stir after revealing it was taking some ideas from the popular Rust programming language to create a new language for 'safe infrastructure programming' under the banner Project Verona.
- ↑ "Rust Platform Support". Rust Forge. Archived from the original on 2018-02-13. Retrieved 2019-05-19.
- ↑ "Frequently Asked Questions". Rust Embedded. Retrieved 2019-05-14.
- ↑ "OpenBSD ports". Archived from the original on 2019-04-11. Retrieved 2018-04-03.
- ↑ "Building and Deploying a Rust library on iOS". 6 September 2017. Retrieved 11 January 2019.
- ↑ "Rust Legal Policies". Rust-lang.org. Archived from the original on 2018-04-04. Retrieved 2018-04-03.
- ↑ "Rust is a systems programming language". Rust-lang.org. Retrieved 2017-07-17.
- ↑ Noel (2010-07-08). "The Rust Language". Lambda the Ultimate. Retrieved 2010-10-30.
- ↑ "FAQ - The Rust Project". Archived from the original on 9 జూన్ 2016. Retrieved 2 March 2016.
- ↑ "rust-lang/rust". GitHub (in ఇంగ్లీష్). Retrieved 2020-06-12.
- ↑ "Stack Overflow Developer Survey 2016 Results". Stack Overflow. Retrieved 2020-06-12.
- ↑ "Interview on Rust, a Systems Programming Language Developed by Mozilla". InfoQ (in ఇంగ్లీష్). Retrieved 2020-06-12.
- ↑ "Debian -- Details of package rustc in sid". packages.debian.org. Retrieved 2020-06-12.
- ↑ "Races - The Rustonomicon". doc.rust-lang.org. Retrieved 2020-06-12.
- ↑ Yegulalp, Serdar (2015-04-03). "Mozilla's Rust-based Servo browser engine inches forward". InfoWorld (in ఇంగ్లీష్). Retrieved 2020-06-12.
- ↑ Bryant, David (2020-05-12). "A Quantum Leap for the Web". Medium (in ఇంగ్లీష్). Retrieved 2020-06-12.
- ↑ "Is It Time to Rewrite the Operating System in Rust?". InfoQ (in ఇంగ్లీష్). Retrieved 2020-06-12.