Обсуждение:Rust (язык программирования)
Замечания по статье
правитьСтатья прошла автоматическую проверку, обнаружены следующие проблемы:
- В статье нет категорий. Любая статья Википедии должна быть категоризована. Подходящие по смыслу категории можно найти на странице Википедия:Поиск по категориям и в других статьях на близкие темы.
Автоматическа проверка не может выявить все недостатки статьи, в частности те, которые связаны со значимостью и проверяемостью. Возможно, впоследствии будут выявлены другие недостатки. Это сообщение сгенерировано ботом, отвечать на него не надо. --AJZBot 10:42, 22 апреля 2012 (UTC)
Translating the code examples
правитьHello. I am sorry that I do not speak Russian. :)
I wonder if anyone here knows that Rust allows Unicode characters as identifiers. Maybe someone would be interested in translating the code examples. Here is my attempt (using machine translation):
fn рекурсии(п: int) -> int {
if п <= 1 { 1 }
else { п * рекурсии(п-1) }
}
fn итерация(п: int) -> int {
// Variables must be declared with the `mut` keyword in order to be mutable.
let mut я = 1,
результат = 1;
while я <= п {
результат *= я;
я += 1;
}
ret результат; // An explicit return, in contrast to the above.
}
I have tested this code and it works. Someone else will have to translate the comments, though. :)
Note that you cannot translate the word "main" in the first code example, but you can translate the "hello, world" into its Russian equivalent. Kibwen 14:07, 30 мая 2012 (UTC)
195.190.126.170 08:03, 30 июня 2015 (UTC)
- Many modern languages support Unicode identifiers. But wnen Russian progmammers write software their identifiers are still in English. Maybe there are few exception from this rule though doing everything is English seems to be an industrial standard. 83.237.46.109 20:08, 20 декабря 2015 (UTC)
- As keywords are only english, it's hard to switch keyboard layout everytime. So it's better to use english identifiers. Translit is very popular(like rekursia) - Булат Ш.
Логотип
правитьЗагрузите, пожалуйста, логотип:
https://en.wikipedia.org/wiki/File:Rust_programming_language_black_logo.svg
в русскую часть википедии. 2A02:6B0:16:0:B576:4159:68E:701D 07:25, 18 сентября 2014 (UTC)
Переименовать в Rust
правитьПредлагаю переименовать в "Rust" по аналогии с Python 2A02:6B0:16:0:1889:19F4:279:26A1 13:10, 23 сентября 2014 (UTC)
Рекламный стиль статьи
правитьНад текстом нужно поработать в соответствии с ВП:Стиль и ВП:НТЗ. Вот, например, в самом начале статьи: «Основная задача Rust — быть удобным языком для написания...», «Разработчиками языка ставится задача достичь производительности приложений на Rust сравнимой с производительностью C++-приложений», «Проект нацелен на сбор лучших возможностей из уже существующих языков и решений.» и тд., и тп. Ashik (обс) 11:25, 24 сентября 2014 (UTC)
Произношение Rust
правитьДобавьте, как правильно произносится название языка Rust. Судя по wikt:en:rust и wikt:rust, вроде как должно быть [rʌst] (раст). ←A.M.Vachin 14:39, 12 мая 2015 (UTC)
Контент
править- Записано: "Язык Rust имеет простые типы (встроенные в сам язык)". Что тогда там делают библиотечные Vector, HashMap и String? И почему они объединены под заголовком "Перечисляемый тип"?
- Ссылка изменяемая не является разделяемой (см. раздел borrow). К тому же, во избежание путаницы, стоит изменить на "ссылка на изменяемый объект".
- Из структур и перечислений зачем-то удалили поясняющий текст со ссылкой на "тип-произведение" и "тип-сумму".
- Написано: "В Rust реализована «умная» модель памяти", причем идет ссылка на умный указатель. Однако умный указатель - всего лишь библиотечный класс, а не свойство языка.
Вообще желательно отделить move-семантику и borrow от классов стандартной библиотеки.
- 1 - есть библиотечные типы, а есть простые типы, все они здесь обозреваются. 2 - см. внимательнее документацию, у объекта может быть писатель, но при этом читатели, объект не изменяется, изменяется владелец (переменная). 3 - поясняющий текст можно дать по ссылке на соответствующий раздел википедии, здесь же не место для объяснения общих вопросов программирования или теории типов. 4 - предложите своё описание особенностей работы Rust с памятью и свои ссылки. 5 - move-семантика и borrow находятся в разделе Управление памятью 37.204.33.170 16:47, 18 августа 2016 (UTC)
Ключевое слово unsafe
править
В статье написано, что при использовании ключевого слова unsafe
в Rust'е «не применяется большинство ограничений, которые как раз и делают Rust безопасным языком». Это не так. В соответствующей главе книги «The Rust Programming Language» (https://doc.rust-lang.org/book/unsafe.html) подчёркивается, что в блоках и функциях, помеченных unsafe
, компилятор разрешает делать лишь три дополнительные вещи:
- обновлять изменяемые статические (
static mut
) переменные; - разыменовывать сырые указатели;
- вызывать небезопасные (
unsafe
) функции.
При этом в unsafe
-блоках и функциях проверка заимствований и владения, а также другие «ограничения» не отключаются.
78.25.122.8 16:05, 18 августа 2016 (UTC)
- так исправьте, со ссылкой на источник, зачем сюда то писать? 37.204.33.170 16:33, 18 августа 2016 (UTC)
TODO: добавить возможности документирования и тестирования
править/// Документация
[#test] fn test_function()
Булат Ш. (обс.) 08:36, 6 октября 2017 (UTC)
- Очень много чего надо дописывать. Базовые понятия — время жизни, макросы, модули, контейнеры (crate). Обработка ошибок (Result, Some, try, unwrap). Базовая информация о стандартной библиотеке (в т.ч. прелюдии, возможности отключения стандартной библиотеки), стандартном инструментарии, экосистеме. — Tetromino 20:35, 6 октября 2017 (UTC)