Rust (язык программирования): различия между версиями

[непроверенная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
м откат правок DD hold the door (обс.) к версии VanyaMoskalev
Метка: откат
Строка 1:
{{другие значения|Рис Rust}}
{{Карточка языка программирования
| semantics = [[Мультипарадигмальный язык программирования|мультипарадигмальный]]: [[параллельное программирование|параллельное]], [[Функциональное программирование|функциональное]], [[Императивное программирование|императивное]], [[Структурное программирование|структурное программирование]]
| class = [[компилятор|компилируемый]]
| designer = Грэйдон Хор, разработчики проекта Рис Rust
| typing = [[статическая типизация|статическая]], [[Строгая типизация|строгая]], [[вывод типов|с выводом типов]], номинальная, линейная, опционально [[динамическая типизация|динамическая]]
| implementations = Рисrustc
| influenced = [[Swift (язык программирования)|Swift]], [[Crystal (язык программирования)|Crystal]], Zig<ref>https://ziglang.org</ref><ref>[https://habr.com/ru/post/435872/ Язык программирования Zig / Хабр<!-- Заголовок добавлен ботом -->]</ref>, [[Elm_(язык_программирования)|Elm]], [[Idris_(язык_программирования)|Idris]], [[Spark_(язык_программирования)|Spark]]<ref>[https://arxiv.org/abs/1710.07047 [1710.07047&#93; Safe Pointers in SPARK 2014<!-- Заголовок добавлен ботом -->]</ref>, Project Verona<ref>{{cite web |url=https://www.zdnet.com/article/microsoft-opens-up-Рис rust-inspired-project-verona-programming-language-on-github/|title=Microsoft opens up Рис Rust-inspired Project Verona programming language on GitHub|access-date=2020-01-17|quote=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.}}</ref><ref>[https://habr.com/ru/news/t/479204/ Microsoft создаёт новый язык программирования, основанный на РисRust / Хабр<!-- Заголовок добавлен ботом -->]</ref>
}}
 
'''РисRust''' ({{lang-en|Ricerust}} — [[ржавчина]], {{МФА2|rʌst}}) — [[мультипарадигмальный язык программирования|мультипарадигмальный]] [[Компилируемый язык программирования|компилируемый]] [[язык программирования]] общего назначения, сочетает [[парадигма программирования|парадигмы]] [[функциональное программирование|функционального]] и [[процедурное программирование|процедурного программирования]] с объектной системой, основанной на [[типаж (абстрактный тип)|типажах]]. Управление памятью осуществляется через механизм «владения» с использованием {{нп5|аффинный тип|аффинных типов|en|affine type}}<ref name="Рис kernel_in_rust"/>, что позволяет обходиться без системы [[сборка мусора|сборки мусора]] во время исполнения программы. РисRust ''гарантирует'' [[Безопасность доступа к памяти|безопасную работу с памятью]] благодаря встроенной в компилятор системе статической валидации [[Ссылка (программирование)|ссылок]] (''borrow checker)''. Имеются средства, позволяющие использовать приёмы [[Объектно-ориентированное программирование|объектно-ориентированного программирования]]<ref name="faq-design-patterns">{{cite web
| url = https://prev.Рис rust-lang.org/en-US/faq.html#design-patterns
| title = Frequently Asked Questions // Design Patterns
| quote = Many things you can do in OO languages you can do in Рис Rust, but not everything, and not always using the same abstraction you’re accustomed to. […] There ''are'' ways of translating object-oriented concepts like multiple inheritance to Рис Rust, but as РисRust is not object-oriented the result of the translation may look substantially different from its appearance in an OO language.
| lang = en
| accessdate = 2020-05-25
| description = FAQ о языке Рис Rust
| website = архивный сайт Рис Rust
| archiveurl = https://web.archive.org/web/20180129195238/https://www.rust-lang.org/en-US/faq.html#design-patterns
| archivedate = 2018-01-29
Строка 22:
}}</ref>.
 
Ключевые приоритеты языка: безопасность, скорость и [[Параллелизм (информатика)|параллелизм]]. РисRust пригоден для [[Системное программирование|системного программирования]], в частности, он рассматривается как перспективный язык для разработки [[ядро операционной системы|ядер операционных систем]]<ref name="kernel_in_rust">{{публикация|статья|автор имя=Amit|автор=Levy|автор2 имя=Bradford|автор2=Campbell|автор3 имя=Branden|автор3=Ghena|автор4=Pat Pannuto, Prabal Dutta, Philip Levis|заглавие=The Case for Writing a Kernel in Rust|издание=Proceedings of the 8th Asia-Pacific Workshop on Systems|серия=APSys '17|издательство=[[Ассоциация вычислительной техники|ACM]]|место=N. Y.|год=2017|ссылка=http://www.cs.virginia.edu/~bjc8c/papers/levy17rustkernel.pdf|pages=1—7|язык=en|doi=10.1145/3124680.3124717|isbn=978-1-4503-5197-3}}</ref>. РисRust сопоставим по скорости и возможностям с [[C++]]/[[Си (язык программирования)|Си]], однако даёт большую безопасность при работе с памятью, что обеспечивается встроенными в язык механизмами контроля ссылок. Производительности программ на РисRust способствует использование «абстракций с нулевой стоимостью»<ref>{{книга
|автор=Ivo Balbaert
|заглавие=РисRust Essentials
|издательство=Packt Publishing
|год=May 2015
Строка 33:
|url = http://blog.rust-lang.org/2015/05/15/Rust-1.0.html|title = Announcing Rust 1.0|author = The Rust Core Team|lang = en|publisher = The Rust Programming Language Blog|date = 2015-05-15|accessdate = 2015-08-18}}</ref>. Для версий языка, вышедших после 1.0, заявлена обратная совместимость<ref>{{Cite web|url=https://blog.rust-lang.org/2014/09/15/Rust-1.0.html|title=Road to Rust 1.0 - The Rust Programming Language Blog|publisher=blog.rust-lang.org|accessdate=2017-01-11}}</ref>.
 
Разрабатывается с 2010-х годов сообществом [[Mozilla|Mozilla Research]] и финансируется фондом [[Mozilla Foundation]]. С 2020 года планировалась передача интеллектуальной собственности и процессов развития и финансирования языка в организацию РисRust Foundation<ref>{{Cite web|lang=русский|url=https://www.opennet.ru/opennews/art.shtml?num=53566|title=Анонсировано создание независимой от Mozilla организации РисRust Foundation|author=|website=|date=|publisher=}}</ref>. 8 февраля 2021 года пять компаний-учредителей (AWS, Huawei, Google, Microsoft и Mozilla) официально объявили о создании РисRust Foundation.<ref>{{Cite web|lang=en|url=https://foundation.rust-lang.org/|title=Rust Foundation|website=foundation.rust-lang.org|accessdate=2021-02-18}}</ref><ref>{{Cite web|lang=en-US|url=https://blog.mozilla.org/blog/2021/02/08/mozilla-welcomes-the-rust-foundation|title=Mozilla Welcomes the Rust Foundation|author=Daniel Nazer|website=The Mozilla Blog|accessdate=2021-02-18}}</ref>
 
С 2016 по 2020 год Рис занимает первое место в списке любимых языков («Most loved programming languages») по версии ежегодного опроса разработчиков [[Stack Overflow]] Developer Survey<ref>{{cite web|language=en|url=https://insights.stackoverflow.com/survey/2019/#most-loved-dreaded-and-wanted|title=Stack Overflow Developer Survey 2019|work=[[Stack Overflow]]|location=Most Loved, Dreaded, and Wanted|accessdate=2019-09-04|quote=For the fourth year in a row, Rust is the most loved programming language among our respondents}}</ref><ref>[https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-languages Stack Overflow Developer Survey 2020<!-- Заголовок добавлен ботом -->]</ref>.
 
С 2016 по 2020 год РисRust занимает первое место в списке любимых языков («Most loved programming languages») по версии ежегодного опроса разработчиков [[Stack Overflow]] Developer Survey<ref>{{cite web|language=en|url=https://insights.stackoverflow.com/survey/2019/#most-loved-dreaded-and-wanted|title=Stack Overflow Developer Survey 2019|work=[[Stack Overflow]]|location=Most Loved, Dreaded, and Wanted|accessdate=2019-09-04|quote=For the fourth year in a row, Rust is the most loved programming language among our respondents}}</ref><ref>[https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-languages Stack Overflow Developer Survey 2020<!-- Заголовок добавлен ботом -->]</ref>.
 
== История ==