Обсуждение: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)Ответить

TODO: добавить возможности документирования и тестирования править

/// Документация

[#test] fn test_function()

Булат Ш. (обс.) 08:36, 6 октября 2017 (UTC)Ответить

Очень много чего надо дописывать. Базовые понятия — время жизни, макросы, модули, контейнеры (crate). Обработка ошибок (Result, Some, try, unwrap). Базовая информация о стандартной библиотеке (в т.ч. прелюдии, возможности отключения стандартной библиотеки), стандартном инструментарии, экосистеме. — Tetromino 20:35, 6 октября 2017 (UTC)Ответить