రస్ట్ (ప్రోగ్రామింగ్ భాష)

రస్ట్ అనేది మోజిల్లా పరిశోధన సమర్పిస్తున్న సిస్టమ్ ప్రోగ్రామింగ్ భాష.[15][16] ఇది సురక్షిత, ఏకాకాలిక, ఆచరణాత్మక భాషగా రూపకల్పన చేశారు,[17] ఇది సి++ను పోలి ఉన్నా మెమొరీ సేఫ్టీ విషయంలో మరింత మెరుగ్గా రూపకల్పన చేశారు.రస్ట్‌ను మొదట గ్రేడాన్ హోరే రూపొందించారు. డేవ్ హెర్మన్, బ్రెండన్ ఈచ్ ఇతరుల సహకారంతో ఈ ప్రోగ్రామింగ్ భాష అభివృద్ధి చేయడంలో సహకరించారు.[18]

Rust
విడుదలజూలై 7, 2010; 14 సంవత్సరాల క్రితం (2010-07-07)
రూపకర్తగ్రేడాన్ హోరే
అభివృద్ధికారుమొజిల్లా 
స్థిర విడుదల1.44.0[1] (జూన్ 4, 2020; 4 సంవత్సరాల క్రితం (2020-06-04))
టైపింగు డిసిప్లిన్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]

మూలాలు

మార్చు
  1. The Rust Release Team (4 June 2020). "Announcing Rust 1.44.0". The Rust Programming Language Blog. Retrieved 4 June 2020.
  2. 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# [...]
  3. "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
  4. "RFC for 'if let' expression". Retrieved December 4, 2014.
  5. "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.
  6. "Idris – Uniqueness Types". Retrieved 2018-11-20.
  7. Jaloyan, Georges-Axel (19 October 2017). "Safe Pointers in SPARK 2014". arXiv:1710.07047. Bibcode:2017arXiv171007047J. {{cite journal}}: Cite journal requires |journal= (help)
  8. Lattner, Chris. "Chris Lattner's Homepage". Nondot.org. Retrieved 2019-05-14.
  9. "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.
  10. "Rust Platform Support". Rust Forge. Archived from the original on 2018-02-13. Retrieved 2019-05-19.
  11. "Frequently Asked Questions". Rust Embedded. Retrieved 2019-05-14.
  12. "OpenBSD ports". Archived from the original on 2019-04-11. Retrieved 2018-04-03.
  13. "Building and Deploying a Rust library on iOS". 6 September 2017. Retrieved 11 January 2019.
  14. "Rust is a systems programming language". Rust-lang.org. Retrieved 2017-07-17.
  15. Noel (2010-07-08). "The Rust Language". Lambda the Ultimate. Retrieved 2010-10-30.
  16. "FAQ - The Rust Project". Archived from the original on 9 జూన్ 2016. Retrieved 2 March 2016.
  17. "rust-lang/rust". GitHub (in ఇంగ్లీష్). Retrieved 2020-06-12.
  18. "Stack Overflow Developer Survey 2016 Results". Stack Overflow. Retrieved 2020-06-12.
  19. "Interview on Rust, a Systems Programming Language Developed by Mozilla". InfoQ (in ఇంగ్లీష్). Retrieved 2020-06-12.
  20. "Debian -- Details of package rustc in sid". packages.debian.org. Retrieved 2020-06-12.
  21. "Races - The Rustonomicon". doc.rust-lang.org. Retrieved 2020-06-12.
  22. Yegulalp, Serdar (2015-04-03). "Mozilla's Rust-based Servo browser engine inches forward". InfoWorld (in ఇంగ్లీష్). Retrieved 2020-06-12.
  23. Bryant, David (2020-05-12). "A Quantum Leap for the Web". Medium (in ఇంగ్లీష్). Retrieved 2020-06-12.
  24. "Is It Time to Rewrite the Operating System in Rust?". InfoQ (in ఇంగ్లీష్). Retrieved 2020-06-12.