Rust (プログラミング言語)とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Rust (プログラミング言語)の意味・解説 

Rust (プログラミング言語)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/03/27 08:37 UTC 版)

Rust(ラスト)は、性能、メモリ安全性、安全な並行性を目指して設計されたマルチパラダイムプログラミング言語である。C言語C++に代わるシステムプログラミング言語を目指しており[2]、構文的にはC++に似ているが[3]、「ボローチェッカー」(borrow checker) で参照の有効性を検証することによってメモリ安全性を保証できる。Rustはガベージコレクションなしでのメモリ安全性を達成しており、必要な場面で参照カウントを使うこともできる[4][5]


  1. ^ 出典URL: https://blog.rust-lang.org/2024/03/21/Rust-1.77.0.html, 題名: Announcing Rust 1.77.0, 作品または名前の言語: 英語, 閲覧日: 2024年3月21日, 出版日: 2024年3月21日
  2. ^ a b Avram, Abel (2012年8月3日). “Interview on Rust, a Systems Programming Language Developed by Mozilla”. InfoQ. 2013年8月17日閲覧。 “GH: A lot of obvious good ideas, known and loved in other languages, haven't made it into widely used systems languages ... There were a lot of good competitors in the late 1970s and early 1980s in that space, and I wanted to revive some of their ideas and give them another go, on the theory that circumstances have changed: the internet is highly concurrent and highly security-conscious, so the design-tradeoffs that always favor C and C++ (for example) have been shifting.”
  3. ^ Rust vs. C++ Comparison”. 2018年11月20日時点のオリジナルよりアーカイブ。2018年11月20日閲覧。
  4. ^ Fearless Security: Memory Safety”. 2020年11月8日時点のオリジナルよりアーカイブ。2020年11月4日閲覧。
  5. ^ Rc<T>, the Reference Counted Smart Pointer”. 2020年11月11日時点のオリジナルよりアーカイブ。2020年11月4日閲覧。
  6. ^ Rust Project Developers. “The Rust Community · The Rust Programming Language”. 2018年2月4日閲覧。
  7. ^ Rust Project Developers. “rust-lang/rust: A safe, concurrent, practical language.”. github. 2018年2月4日閲覧。
  8. ^ CやC++に代わると期待--安全な並行性とメモリーの安全性に焦点当てる「Rust」”. ZDNet Japan (2020年2月1日). 2020年2月2日閲覧。
  9. ^ a b Mozilla Research. “Rust”. 2018年2月4日閲覧。
  10. ^ The Rust Language”. Lambda the Ultimate (2010年7月8日). 2010年10月30日閲覧。
  11. ^ a b Matsakis, Niko (2016年4月19日). “Introducing MIR”. 2016年10月4日閲覧。
  12. ^ a b Rust versus C gcc fastest programs”. 2018年8月22日閲覧。
  13. ^ a b Stack Overflow Developer Survey 2022”. Stack Overflow. 2022年7月10日閲覧。
  14. ^ a b Matthias Endler (2017年9月15日). “Go vs Rust? Choose Go.”. 2018年1月28日閲覧。
  15. ^ a b Aaron Turon. “Rust's 2017 roadmap”. 2018年1月28日閲覧。
  16. ^ a b Internet archaeology: the definitive, end-all source for why Rust is named "Rust"”. 2020年5月10日閲覧。
  17. ^ Rust logo(type)”. Mozilla Foundation. 2020年5月10日閲覧。
  18. ^ The Rust Team · The Rust Programming Language”. Rust Project Developers. 2018年2月4日閲覧。
  19. ^ The Rust Programming Language”. github. 2018年2月4日閲覧。
  20. ^ Contributors to rust-lang/rust”. github. 28 January, 2018閲覧。
  21. ^ The Mozilla Manifesto”. 2012年4月9日閲覧。
  22. ^ rust-lang/rfcs: RFCs for changes to Rust”. github. 2018年2月4日閲覧。
  23. ^ rust-lang/rfcs: RFCs for changes to Rust”. 2018年1月28日閲覧。
  24. ^ Aaron Turon. “Refining Rust's RFCs”. 2018年1月28日閲覧。
  25. ^ bindgen 0.17.0 - Docs.rs”. Onur Aslan. 2018年2月4日閲覧。 “authors Jyun-Yan You”
  26. ^ Yamakaky (2016年7月22日). “merge into upstream! · Issue #21 · rust-lang-nursery/rust-bindgen”. github. 2018年2月4日閲覧。
  27. ^ rust-lang-nursery/rust-bindgen Automatically generates Rust FFI bindings to C (and some C++) libraries.”. 2018年2月4日閲覧。
  28. ^ rust/src/grammar/parser-lalr.y” (2017年5月23日). 28 January, 2018閲覧。
  29. ^ “Frequently Asked Questions · The Rust Programming Language - When should I use an implicit return?”. 2018年1月28日閲覧。
  30. ^ "by default variables are immutable." The Rust Programming Language
  31. ^ "E0384. An immutable variable was reassigned." Rust Compiler Error Index
  32. ^ "you can make them mutable by adding mut in front of the variable name." The Rust Programming Language
  33. ^ "you can declare a new variable with the same name as a previous variable, and the new variable shadows the previous variable." The Rust Programming Language
  34. ^ "By using let, we can perform a few transformations on a value but have the variable be immutable after those transformations have been completed. ... The other difference between mut and shadowing is that because we’re effectively creating a new variable when we use the let keyword again, we can change the type of the value but reuse the same name." The Rust Programming Language
  35. ^ : higher-kinded polymorphism
  36. ^ Type coercions”. The Rust Reference. 2024年3月27日閲覧。
  37. ^ Walton, Patrick (2010年10月1日). “Rust Features I: Type Inference”. 2011年1月21日閲覧。
  38. ^ : monomorphization
  39. ^ Aaron Turon (2015年5月11日). “Abstraction without overhead: traits in Rust - The Rust Programming Language Blog”. 2018年2月4日閲覧。
  40. ^ a b "A reference represents a borrow of some owned value." Primitive Type reference. The Rust Standard Library. 2022-12-24閲覧.
  41. ^ "A reference ... to access the data stored at that address; that data is owned by some other variable." References and Borrowing. The Rust Programming Language. 2022-12-24閲覧.
  42. ^ "A reference cannot outlive its referent" References. The Rustonomicon. 2022-12-24閲覧.
  43. ^ "A lifetime is said to “outlive” another one if its representative scope is as long or longer than the other." Primitive Type reference. The Rust Standard Library. 2022-12-24閲覧.
  44. ^ "The issue ... we have to return the String to the calling function so we can still use ... . Instead, we can provide a reference" References and Borrowing. The Rust Programming Language. 2022-12-24閲覧.
  45. ^ "Syntax BorrowExpression" Operator expressions. The Rust Reference. 2022-12-24閲覧.
  46. ^ "Primitive Type reference ... References, &T and &mut T." Primitive Type reference. The Rust Standard Library. 2022-12-24閲覧.
  47. ^ "Borrow operators" Operator expressions. The Rust Reference. 2022-12-24閲覧.
  48. ^ "shared reference type is written &type" Pointer types. The Rust Reference. 2022-12-24閲覧.
  49. ^ "The & (shared borrow) ... operators" Operator expressions. The Rust Reference. 2022-12-24閲覧.
  50. ^ "A mutable reference type is written &mut type" Pointer types. The Rust Reference. 2022-12-24閲覧.
  51. ^ "&mut (mutable borrow) operators" Operator expressions. The Rust Reference. 2022-12-24閲覧.
  52. ^ "When a shared reference to a value is created, it prevents direct mutation of the value." Pointer types. The Rust Reference. 2022-12-24閲覧.
  53. ^ "The following traits are implemented for all &T, regardless of the type of its referent: Copy" Primitive Type reference. The Rust Standard Library. 2022-12-24閲覧.
  54. ^ "if you have a mutable reference to a value, you can have no other references to that value." References and Borrowing. The Rust Programming Language. 2022-12-24閲覧.
  55. ^ "&mut T references get all of the above except Copy and Clone (to prevent creating multiple simultaneous mutable borrows)" Primitive Type reference. The Rust Standard Library. 2022-12-24閲覧.
  56. ^ jemalloc is removed by default”. 2020年6月12日閲覧。
  57. ^ Validating References with Lifetimes”. The Rust Programming Language. 2024年1月2日閲覧。
  58. ^ Trait and lifetime bounds”. The Rust Reference. 2024年1月2日閲覧。
  59. ^ Trait and lifetime bounds”. The Rust Reference. 2024年1月2日閲覧。
  60. ^ Higher-Rank Trait Bounds (HRTBs)”. The Rustonomicon. 2024年1月2日閲覧。
  61. ^ Module std::pin”. The Rust Standard Library. 2024年1月2日閲覧。 “By default, all types in Rust are movable. Rust allows passing all types by-value, ...”
  62. ^ Module std::pin, Example: self-referential struct”. The Rust Standard Library. 2024年1月2日閲覧。
  63. ^ Rust Team. “Working with an unpublished minor version”. 2018年1月28日閲覧。
  64. ^ Rust project developers. “core- Rust”. 2018年1月28日閲覧。
  65. ^ Rust project developers. “std- Rust”. 2018年1月28日閲覧。
  66. ^ Brian Anderson (2017年5月5日). “The Rust Libz Blitz - The Rust Programming Language Blog”. 2018年2月4日閲覧。
  67. ^ The Rust Project Developers. “rand - Cargo: packages for Rust”. 2018年1月28日閲覧。
  68. ^ The Rust Project Developers. “regex - Cargo: packages for Rust”. 2018年1月28日閲覧。
  69. ^ Kang Seonghoon. “chrono - Cargo: packages for Rust”. 2018年1月28日閲覧。
  70. ^ The Rust Project Developers. “libc - Cargo: packages for Rust”. 2018年1月28日閲覧。
  71. ^ The Rust Project Developers. “log - Cargo: packages for Rust”. 2018年1月28日閲覧。
  72. ^ Blandy, Jim (2017). Programming Rust. O'Reilly Media, Inc. p. 285. ISBN 1491927283 
  73. ^ Brian Anderson (2016年5月13日). “Taking Rust everywhere with rustup”. 2018年1月28日閲覧。
  74. ^ Rust Platform Support · The Rust Programming Language”. 2018年2月4日閲覧。
  75. ^ Releases · rust-lang/cargo · GitHub”. 2022年7月10日閲覧。
  76. ^ Yehuda Katz (2016年5月5日). “Cargo: predictable dependency management - The Rust Programming Language Blog”. 2018年2月4日閲覧。
  77. ^ Alex Crichton (2014年11月20日). “Cargo: Rust's community crate host”. 2018年1月28日閲覧。
  78. ^ livioribeiro (2015年10月15日). “Cargo-readme: generate README.md from doc comments”. 2018年1月28日閲覧。
  79. ^ RustUp aka How to install rust the convenient way” (2016年6月2日). 2018年2月4日閲覧。
  80. ^ Brian Anderson (2016年5月13日). “Taking Rust everywhere with rustup - The Rust Programming Language Blog”. 2018年2月4日閲覧。
  81. ^ vanjacosic (2016年9月27日). “rust/getting-started.md at 1.13.0 · rust-lang/rust”. 2018年2月4日閲覧。
  82. ^ rust-lang-deprecated/rustup.sh: The rustup.sh script for installing Rust from release channels”. 2018年1月28日閲覧。
  83. ^ vanjacosic (2016年12月17日). “rust/getting-started.md at 1.14.0 · rust-lang/rust”. 2018年2月4日閲覧。
  84. ^ rust-lang-nursery/rustup.rs: The Rust toolchain installer”. 2018年1月28日閲覧。
  85. ^ Klabnik, Steve (2014年10月24日). “Interview with Steve Klabnik: How Rust Compares to Other Languages and More”. codementor. 2018年2月4日閲覧。 “Rust has a significant lack of resources because it’s so new, and so it’s much harder as a first language.”
  86. ^ book/references-and-borrowing.md at master · rust-lang/book” (2017年5月10日). 2018年2月4日閲覧。 “Many new users to Rust experience something we like to call ‘fighting with the borrow checker’”
  87. ^ Ivan Sagalaev (2016年11月2日). “Why Rust's ownership/borrowing is hard”. 2018年2月4日閲覧。
  88. ^ Aaron Turon. “Rust should have a lower learning curve”. 2018年1月28日閲覧。
  89. ^ Miscellany: C++ design goals in the context of Rust”. 2018年1月28日閲覧。
  90. ^ Frequently Asked Questions · The Rust Programming Language - How fast is Rust?”. 2018年1月28日閲覧。
  91. ^ Web Framework Benchmarks - Round 15 2018-02-14”. Framework Benchmarks Google Group. 2018年3月4日閲覧。
  92. ^ Web Framework Benchmarks - Round 15 2018-02-14”. Framework Benchmarks Google Group. 2018年3月4日閲覧。
  93. ^ : Graydon Hoare
  94. ^ Project FAQ” (2010年9月14日). 2012年1月11日閲覧。
  95. ^ Future Tense” (2011年4月29日). 2012年2月6日閲覧。 “At Mozilla Summit 2010, we launched Rust, a new programming language motivated by safety and concurrency for parallel hardware, the “manycore” future which is upon us.
  96. ^ rustlangの2017年3月12日のツイート2018年2月4日閲覧。
  97. ^ a b Hoare, Graydon (2010年10月2日). “Rust Progress”. 2013年10月22日時点のオリジナルよりアーカイブ。2010年10月30日閲覧。 “the second version of the compiler, written in Rust and compiled with the bootstrap compiler”
  98. ^ Hoare, Graydon (2011年4月20日). “rust-dev] stage1/rustc builds”. 2011年4月20日閲覧。 “After that last change fixing the logging scope context bug, looks like stage1/rustc builds. Just shy of midnight :)
  99. ^ Chris Double (2011年3月31日). “A Quick Look at the Rust Programming Language”. 2018年2月4日閲覧。 “The rustc compiler lives in stage0/rustc. The output of this compiler is LLVM bytecode which must then be compiled using LLVM tools.”
  100. ^ catamorphism (2012年1月20日). “Mozilla and the Rust community release Rust 0.1 (a strongly-typed systems programming language with a focus on memory safety and concurrency)”. 2012年2月6日閲覧。
  101. ^ Jelliffe, Rick (2010年11月8日). “Vale Java? Scala Vala palava”. 2012年3月29日閲覧。 “… It is just plain ignorant to say that non-English programmers always write with ASCII. (Just as it would be ignorant to say that they never do.) It is that kind of rather blithe dismissal that foreign cultures and languages need to be supported that creates extra unnecessary barriers. That argument ran out of legs in the early 1990s: all platforms have well -established Unicode libraries with serviceable properties for this…
  102. ^ Commit dabccadd3202513ab0bcb424e2c62c90ab23062d” (2011年2月26日). 2012年1月11日閲覧。
  103. ^ Strom, Robert E.; Yemini, Shaula (1986). Typestate: A Programming Language Concept for Enhancing Software Reliability. IEEE Transactions on Software Engineering. ISSN 0098-5589. http://www.cs.cmu.edu/~aldrich/papers/classic/tse12-typestate.pdf 2010年11月14日閲覧。. 
  104. ^ Walton, Patrick (2012年12月26日). “Typestate Is Dead, Long Live Typestate!”. Pcwalton.github.com. 2018年9月5日閲覧。
  105. ^ Walton, Patrick (2013年1月2日). “Removing Garbage Collection From the Rust Language”. Pcwalton.github.com. 2018年9月5日閲覧。
  106. ^ Andrew Binstock. “The Rise And Fall of Languages in 2013”. 2018年9月5日閲覧。
  107. ^ The Rust Core Team (2015年5月15日). “Announcing Rust 1.0 - The Rust Programming Language Blog”. 2018年2月4日閲覧。
  108. ^ Alex Crichton (2014年10月27日). “rfcs/0507-release-channels.md at master · rust-lang/rfcs”. 2018年2月4日閲覧。
  109. ^ Aaron Turon (2014年10月30日). “Stability as a Deliverable - The Rust Programming Language Blog”. 2018年2月4日閲覧。
  110. ^ Scheduling the Trains”. 2017年1月1日閲覧。
  111. ^ Firefox リリースノート Firefox 48.0”. Mozilla Foundation (2016年8月2日). 2016年8月3日閲覧。
  112. ^ Firefox に組み込まれた Rust”. Mozilla Foundation (2016年8月2日). 2016年8月3日閲覧。
  113. ^ Rust meets Fedora”. fedoramagazine.org (2016年9月21日). 2016年10月6日閲覧。
  114. ^ a b Announcing Rust 1.31 and Rust 2018”. 2018年12月17日閲覧。
  115. ^ The Plan for the Rust 2021 Edition | Rust Blog” (英語). blog.rust-lang.org. 2021年9月19日閲覧。
  116. ^ Dave Herman. “Shipping Rust in Firefox”. 2018年1月28日閲覧。
  117. ^ Serdar Yegulalp. “Mozilla's Rust-based Servo browser engine inches forward”. 2018年1月28日閲覧。
  118. ^ David Bryant. “A Quantum Leap for the Web”. 2018年1月28日閲覧。
  119. ^ Salim Alam. “Habitat at RustConf”. 2018年1月28日閲覧。
  120. ^ Salim Alam. “The Epic Story of Dropbox's Exodus From the Amazon Cloud Empire”. 2018年1月28日閲覧。
  121. ^ Serdar Yegulalp. “The Epic Story of Dropbox's Exodus From the Amazon Cloud Empire”. 2018年1月28日閲覧。
  122. ^ Steve Klabnik. “intermezzOS: a little OS”. 2018年1月28日閲覧。
  123. ^ Red Hat deprecates BTRFS, is Stratis the new ZFS-like hope?”. Marksei, Weekly sysadmin pills. 2018年1月28日閲覧。
  124. ^ “Building a Container Runtime in Rust”. (2017年6月29日). https://blogs.oracle.com/developers/building-a-container-runtime-in-rust 2017年7月8日閲覧. "Why Rust? (…) Rust sits at a perfect intersection of [C and Go]: it has memory safety and higher-level primitives, but doesn't sacrifice low level control over threading and therefore can handle namespaces properly." 
  125. ^ グーグル、Rust採用で「Android」のメモリーに関わる脆弱性が激減”. ZDNet Japan. 2022年12月6日閲覧。
  126. ^ 「Linux」、バージョン6.1でRustを導入へ--トーバルズ氏が明言”. ZDNET. 2022年10月18日閲覧。
  127. ^ グーグル、Rustで書かれたセキュアなOS「KataOS」を発表”. CNET Japan. 2022年10月18日閲覧。
  128. ^ Microsoft、Windows 10の一部をRustへ書き換えてセキュリティ強化狙う”. マイナビ. 2022年12月7日閲覧。
  129. ^ Valery Vavilov. “As Blockchain Changes The World, Bitfury’s New Platform Exonum is About to Change Blockchain”. 2018年1月28日閲覧。
  130. ^ Balbaert, Ivo. Rust Essentials. Packt Publishing. p. 6. ISBN 1785285769. https://books.google.com/books?id=TeiuCQAAQBAJ&pg=PA6&lpg=PA6&dq=OpenDNS+Rust&source=bl&ots=UL5thAAi8w&sig=Wf-Z5xSRYU-IXyGiyIl2FVEQWEc&hl=en&sa=X&ved=0ahUKEwizzdSk59LLAhVpnoMKHWdbDrQQ6AEINzAF#v=onepage&q=OpenDNS%20Rust&f=false 2016年3月21日閲覧。 
  131. ^ Using HyperLogLog to Detect Malware Faster Than Ever”. OpenDNS Security Labs. 2016年3月19日閲覧。
  132. ^ ZeroMQ: Helping us Block Malicious Domains in Real Time”. OpenDNS Security Labs. 2016年3月19日閲覧。
  133. ^ Piston A modular game engine written in Rust”. Piston.rs. 2017年8月1日閲覧。
  134. ^ Joseph Birr-Pixton. “ctz/rustls: A modern TLS library in Rust”. 2018年2月4日閲覧。
  135. ^ Remacs:Re-Implementing Emacs In Rust”. phoronix.com (2017年1月11日). 2017年1月19日閲覧。
  136. ^ Pijul”. pijul.org. 2017年7月8日閲覧。
  137. ^ Google. “xi-editor”. 2018年1月28日閲覧。
  138. ^ Andrew Gallant (2016年9月23日). “ripgrep is faster than {grep, ag, git grep, ucg, pt, sift}”. 2018年1月28日閲覧。
  139. ^ Xiph.Org Foundation. “rav1e: The fastest and safest AV1 encoder.”. 2018年5月1日閲覧。
  140. ^ Parity Technologies. “Parity’s Polkadot Dev Update #2”. 2018年12月5日閲覧。
  141. ^ mirakc: A Mirakurun-compatible PVR backend written in Rust”. 2020年8月10日閲覧。
  142. ^ Dropbox、4年をかけてRust言語で再構築された新しい同期エンジン「Nucleus」をリリース”. Impress. 2022年12月7日閲覧。





英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Rust (プログラミング言語)」の関連用語

Rust (プログラミング言語)のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Rust (プログラミング言語)のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのRust (プログラミング言語) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS