Форум программистов, компьютерный форум, киберфорум
Rust
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
Заблокирован
1

Почему Rust?

08.08.2022, 11:59. Показов 5154. Ответов 46
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
Почему Вы предпочли этот язык?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.08.2022, 11:59
Ответы с готовыми решениями:

[Rust] Как привязывать WinAPI-функции к коду на Rust?
Может кто-нить дать код, КАК привязывать вин апишные функции к растовскому коду (на примере...

[Rust] Обсуждение возможностей и предстоящей роли языка Rust
Psilon, чем он тебя так привлек? И почему именно "убийца плюсов"? Если напишешь развернутый ответ,...

Rust+assembler
Как связать язык rust и ассемблер не используя ассемблерные вставки(неудобно использовать их в...

[Rust] Time
Подскажите как узнать время в Rust. //Rust extern crate time; fn main() { let now =...

46
Модератор
5047 / 3276 / 526
Регистрация: 01.06.2013
Сообщений: 6,806
Записей в блоге: 9
08.08.2022, 16:33 2
Удачная концепция управления памятью без сборщика мусора позволяющая и памяти не утекать и использовать RAII. Строгая типизация, трейты (мне, после haskell хорошо зашли), многие возможности функционального программирования, вывод типов.
К сожалению, то что нынче принято называть экостистемой языка, недостаточно быстро развивается.
1
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
08.08.2022, 16:50 3
Современный, нетипичный.
Но будет больно при местами и часто, потому что усложнён из-за своей концепции.
1
Просто Лис
Эксперт Python
5734 / 3533 / 1055
Регистрация: 17.05.2012
Сообщений: 10,366
Записей в блоге: 9
09.08.2022, 08:35 4
По сравнению с питоном и другими интерпретируемыми языками, раст - компилируемый, даже кросс-компиляция под другие платформы (в линуксе под винду) работает без проблем. На выходе один бинарник, не нужно таскать с собой среду выполнения (интерпретаторы или jre).

Довольно удобные новые концепции типажей (трейтов) и лайфтаймов. Мощный репозиторий готовых библиотек - пожалуй, это самое главное. Плюс совместимость с существующим Сишным кодом.

Добавлено через 37 секунд
Наверное, то же самое можно сказать про гоу, но с ним не знаком.

Добавлено через 45 секунд
Только гоу более закрытая платформа, в смысле, что внешние сишные либы или подобное подключить сложно или невозможно.

Добавлено через 2 минуты
Ещё вспомнил: в расте удачные реализации многопоточности и примитивов (мютексы и прочее). Недавно вышла новая стабильная версия компилятора раста, где стали использоваться более современные и быстрые блокировки ядра линукса. То есть простая перекомпиляция новым компилятором твоего кода улучшило производительность.
1
Модератор
5047 / 3276 / 526
Регистрация: 01.06.2013
Сообщений: 6,806
Записей в блоге: 9
09.08.2022, 12:30 5
Рыжий Лис, большинство фич упомянутых вами есть и в других языках. Компилируемых языков полно, кросс компиляция тоже есть, типажи далеко не новая концепция. Репозитории во многих языках есть, мьютексы, тем более, очень стары, были в сишных либах, в delphi начиная с его первой версии. Даже async/await из .NET и тоже реализовано много в каких языках. Интеграция с сишным кодом даже в языках со сборщикам мусора сложности не вызывает и в go она есть.

Из вами перечисленного, мне кажется, только лайфтаймы оригинальны для rust.

Впрочем, то что он вобрал уже сйществующие фичи не делает его плохим.
1
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
09.08.2022, 21:47 6
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Довольно удобные новые концепции типажей (трейтов) и лайфтаймов.
Лайфтаймы это очень удобно.


Rust
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
trait Nothing<'a> {
    fn new(self) -> &'a str;
    
}
 
 
impl<'a> Nothing<'a> for &'a str {
    fn new(self) -> &'a str {
        self
    }
  
}
 
 
fn main() {
 
    let bee = "bee";
    println!("{}", bee.new());
}
Всё понятно и читается очень хорошо.
0
Просто Лис
Эксперт Python
5734 / 3533 / 1055
Регистрация: 17.05.2012
Сообщений: 10,366
Записей в блоге: 9
10.08.2022, 08:01 7
Для тех, кто в ужасе от синтаксиса выше, там просто устанавливается время жизни возвращённого значения из функции &str.new() равным времени жизни переменной bee. Компилятор не осилил вывод стандартных лайфтаймов, вот мы ему помогли.

В частности это гарантирует на момент компиляции отсутствие висячих ссылок, когда данные были уничтожены, а ссылки (указатели?) на память остались.
0
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
10.08.2022, 08:59 8
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Для тех, кто в ужасе от синтаксиса выше, там просто устанавливается время жизни возвращённого значения из функции &str.new() равным времени жизни переменной bee.
Я знаю что это значит, так как я этот код для примера и придумал.
Изначально Rust был без времён жизни ссылок, но потом "умные ребята" решили эту функцию добавить.
Возьмём например библиотеку GTK на Rust.
Там все объекты сразу завёрнуты в Rc. (gtk работает однопоточно). Ну и смысл тогда в этих временах жизни? Это просто ненужный геморрой. Было бы нормально, если бы эту функцию можно было бы включать и выключать когда нужно: типа компилятор смотрит указано ли время жизни? Если нет, то оборачивает всё в умный указать с подсчётом ссылок.
На одном небольшом примере, возможно, это и смотрится нестрашно, но представьте библиотеку большого фреймворка с этой требухой...
0
Заблокирован
10.08.2022, 19:41 9
Вас обманули, никто не выбирает раст. Простой пример - языку около 10 лет, но софта на нём так и не появилось.
0
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
10.08.2022, 20:12 10
Цитата Сообщение от jsforever Посмотреть сообщение
Вас обманули, никто не выбирает раст. Простой пример - языку около 10 лет, но софта на нём так и не появилось.
А какой вам софт нужен? gcc компилятор уже поддерживает Rust. Частично язык уже используется в коде ядра. Со временм этого кода будет становится всё больше.
0
Заблокирован
10.08.2022, 20:18 11
Цитата Сообщение от Гай Посмотреть сообщение
А какой вам софт нужен?
Любой. Ос, бд, браузеры, компиляторы и прочее.
Цитата Сообщение от Гай Посмотреть сообщение
gcc компилятор уже поддерживает Rust.
Цитата Сообщение от Гай Посмотреть сообщение
Частично язык уже используется в коде ядра
Покажете?
Цитата Сообщение от Гай Посмотреть сообщение
Со временм этого кода будет становится всё больше.
Ну да, больше 10 лет уже становится.
0
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
10.08.2022, 22:08 12
Цитата Сообщение от jsforever Посмотреть сообщение
Покажете?
Вас в гугле забанили?
жми и смотри

Добавлено через 1 минуту
Цитата Сообщение от jsforever Посмотреть сообщение
Ну да, больше 10 лет уже становится.
На нём уже практически сразу написали ОС для пробы. Redox называется.
10 лет для системного языка - не срок.
0
Заблокирован
11.08.2022, 07:22 13
Цитата Сообщение от Гай Посмотреть сообщение
Вас в гугле забанили?
Так это вас забанили, иначе вы не пытались бы врать. Что вы сообщали изначально?
Цитата Сообщение от Гай Посмотреть сообщение
gcc компилятор уже поддерживает Rust
Ищем эту поддержку в gcc - ой, её нет. Сморим gccrs, ту самую "поддержку" - https://github.com/Rust-GCC/gccrs:
Please note, the compiler is in a very early stage and not usable yet for compiling real Rust programs.
Это первая строка в ридми - т. е. сами авторы подтверждают, что сейчас никакой поддержки нет.

Следующая куллстори от пропагандиста:
Цитата Сообщение от Гай Посмотреть сообщение
Частично язык уже используется в коде ядра.
Опять же, никакого раста в ядре сейчас нет - опять враньё. Даже ссылку нормальную пропагандист нагуглить не смог(видимо, его действительно забанили в гугле):
Мы присоединились к организации Rust для Linux, где сообщество уже много сделало и продолжает делать для добавления поддержки Rust в систему сборки ядра Linux.
продолжает делать для добавления поддержки Rust
Это просто спам левыми ссылками, в надежде что кто-нибудь, да поверит.

Цитата Сообщение от Гай Посмотреть сообщение
На нём уже практически сразу написали ОС для пробы. Redox называется.
Уважаемый пропагандист, сообщаю вам новость - никому не нужно ос для пробы. Нужно то, что будет использоваться. Смотрим. На си есть линукс, который используется почти везде, а там где не используется - там есть бсд/масдай/ещё какая-то закрытая хрень, которая так же на си. Ой, оказывается никаких ос на расте нет. Ну ничего, бывает.

Цитата Сообщение от Гай Посмотреть сообщение
10 лет для системного языка - не срок.
Враньё. Во первых, на си/спп через десять лет после их появления была написана большая часть существующего софта. Во вторых, сейчас условия несоизмеримо лучше - есть халявный ллвм(ненужно писать свой компилятор), есть куча софта(не нужно заниматься исследованиями/проектированием - это уже сделано) и самое главное: на си/спп сегфолты по десять раз в секунду, уб через строку и прочее - т. е. там время разработки на порядки больше. На расте же, если верить пропаганде, никаких подобных трудностей нет, поэтому здесь софт должен был появиться даже не через 10 лет, а через максимум 5. Но его почему-то нет.

Вот так у людей и складывается впечатление, что раст "выбирают". Но в реальности это просто старания пропагандистов.
0
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
11.08.2022, 09:24 14
Цитата Сообщение от jsforever Посмотреть сообщение
Ищем эту поддержку в gcc - ой, её нет. Сморим gccrs, ту самую "поддержку"
Её только начали внедрять. Но это шаг именно к использованию Rust в Linux.
Цитата Сообщение от jsforever Посмотреть сообщение
Уважаемый пропагандист, сообщаю вам новость - никому не нужно ос для пробы. Нужно то, что будет использоваться. Смотрим. На си есть линукс, который используется почти везде, а там где не используется - там есть бсд/масдай/ещё какая-то закрытая хрень, которая так же на си. Ой, оказывается никаких ос на расте нет. Ну ничего, бывает.
Да. вы мало понимаете, как оказывается.
На Rust была написана Redox OS и было это сделано в целях исследования возможностей языка. Просто разработчики тестировали можно ли создать полноценную юних-подобную операционную систему и как это будет выглядеть и работать.
То, что Rust не где не используется, это, конечно же, брехня. Та жа Mozilla использует Rust в своём браузере firefox на ряду с другими языками.
Discord был переписан с GO на RUST.
Цитата Сообщение от jsforever Посмотреть сообщение
Враньё. Во первых, на си/спп через десять лет после их появления была написана большая часть существующего софта.
Вообще-то Си создаваля под конкретную задачу - написание юникс системы. Стоит ли потом удивляться, что Си используется в юникс-системах.
0
Заблокирован
11.08.2022, 10:48 15
Так, похоже этот пропагандист совсем поломался.
Цитата Сообщение от Гай Посмотреть сообщение
Её только начали внедрять. Но это шаг именно к использованию Rust в Linux.
А теперь внимание:
Цитата Сообщение от Гай Посмотреть сообщение
gcc компилятор уже поддерживает Rust.
Цитата Сообщение от Гай Посмотреть сообщение
уже поддерживает
Цитата Сообщение от Гай Посмотреть сообщение
только начали внедрять
Опущено.
Цитата Сообщение от Гай Посмотреть сообщение
Да. вы мало понимаете, как оказывается.
Куллстори.
Цитата Сообщение от Гай Посмотреть сообщение
На Rust была написана Redox OS и было это сделано в целях исследования возможностей языка
Опять же, что вы мне отвечаете? Я говорил что: на расте нет ос. Вы мне линкуете локальный ресёрч(на самом деле нет - редокс элемент пропаганды для подобных персонажей). То есть вы признаёте, что вы врунишка, я всё правильно понял? Ах, да, смотрим внимательнее:
Цитата Сообщение от Гай Посмотреть сообщение
разработчики тестировали можно ли создать полноценную юних-подобную операционную систему и как это будет выглядеть и работать
Цитата Сообщение от Гай Посмотреть сообщение
полноценную
Цитата Сообщение от Гай Посмотреть сообщение
работать
Во первых, здесь опять можно видеть попытки пропагандиста врать. То он расказывал про исследование и тестирование, то вдруг уже полноценная ос появилась. Показания противоречат даже друг другу, не говоря уже о реальности.
Во вторых, оно никак и нигде не работает, о чём я сообщал выше. Отсюда следует один вывод - исследование провалилось и никакой ос на расте не не написать(на самом деле нет - никто и не хотел писать никакую ос, просто нужна методичка на случай неудобных вопросов).
К тому же, как-то вы быстро позабыли про "уже используется в ядре". Я поймал вас на вранье, вам стало нечего ответить и вы решили проигнорировать тему, которую сами же и подняли? Достойно.
Цитата Сообщение от Гай Посмотреть сообщение
Та жа Mozilla использует Rust в своём браузере firefox на ряду с другими языками.
Неверно. Там есть демонстративная часть кода, чтобы пропагандисты могли говорить "использует раст". Хотя даже раста там нет - https://github.com/mozilla/gec... afe&l=rust - даже здесь куча ансейф, который растом не является.
Цитата Сообщение от Гай Посмотреть сообщение
Discord был переписан с GO на RUST.
Снова манипуляция. Кто-то спрашивал вас про переписать? Нет. Вас спрашивали про написание. Перевести готовую логику с одного скриптового языка на другой ничего не стоит, о чём я так же сообщал. И да, мне лень смотреть, переписали ли они там хоть что-то, либо это опять ложь.
Цитата Сообщение от Гай Посмотреть сообщение
Вообще-то Си создаваля под конкретную задачу - написание юникс системы. Стоит ли потом удивляться, что Си используется в юникс-системах.
Куллстори номер два. Первое - си используется во всех системах. Второе - на си написано около 100% всего софта, а не только "системы". Опять сектант пытается забалтывать.

В целом, это типичная картина - 99% раст пропагандистов просто врут в наглую, далее лепят какие-то отмазки, ждут когда все забудут(либо модераторы потрут) про это и далее опять начинают врать.
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36606 / 20334 / 4221
Регистрация: 12.02.2012
Сообщений: 33,651
Записей в блоге: 13
11.08.2022, 11:13 16
jsforever, Гай, рекомендую придерживаться рамок приличия в дискуссии. И не употреблять резких выражений.
1
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
11.08.2022, 16:29 17
Цитата Сообщение от jsforever Посмотреть сообщение
Снова манипуляция. Кто-то спрашивал вас про переписать? Нет. Вас спрашивали про написание.
То есть вы правда не понимаете? Ну ладно, бывает.
Цитата Сообщение от jsforever Посмотреть сообщение
Куллстори номер два. Первое - си используется во всех системах.
Во всех - это каких? Вы хоть историю юникс-систем знаете?
0
Заблокирован
11.08.2022, 17:32 18
Цитата Сообщение от Гай Посмотреть сообщение
То есть вы правда не понимаете? Ну ладно, бывает.
Ну так что, как там с "гцц поддерживает", "в ядре уже используется", "редокс", "мозила"? Чего вы всё проигнорировали? Ой, ничего этого нет? Ну ладно, бывает.

Кстати, покажете мне переписанный дискорд? Или опять начнёте плакать?
Цитата Сообщение от Гай Посмотреть сообщение
Во всех - это каких? Вы хоть историю юникс-систем знаете?
Во всех - это во всех. Выше я кратко перечислял это. Вы решили включить дурачка и делать вид, что вам не расказали?
0
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
11.08.2022, 18:50 19
Цитата Сообщение от jsforever Посмотреть сообщение
Или опять начнёте плакать?
Вы жаждете того, чтобы все плакали?
Цитата Сообщение от jsforever Посмотреть сообщение
Кстати, покажете мне переписанный дискорд?
Идите и смотрите. Ссылку привёл.
Мне-то на вас начхать с высокой колокольни. Просто забавно наблюдать, как у вас пятая точка детонирует.
Цитата Сообщение от jsforever Посмотреть сообщение
Во всех - это во всех. Выше я кратко перечислял это. Вы решили включить дурачка и делать вид, что вам не расказали?
Можете рассказать поподробнее?
0
Заблокирован
11.08.2022, 19:24 20
Цитата Сообщение от Гай Посмотреть сообщение
Вы жаждете того, чтобы все плакали?
Я жажду того, чтобы пропагадндисты не балаболили.
Цитата Сообщение от Гай Посмотреть сообщение
Идите и смотрите. Ссылку привёл.
Молодец, быстро поплыл. Но давай попроще - ты должен показать код дискорда и пояснить его назначение. Ссылки на рандомные статейки из гугла ничего не значат.
Цитата Сообщение от Гай Посмотреть сообщение
Мне-то на вас начхать с высокой колокольни.
Ага. Как обделался - так сразу начхать/всё равно/я вообще не хотел ничего писать. Правда это противоречит реальности - если было начхать, ты не писал бы мне. А если написал - значит не начхать. А если не начхать - значит обделался.
Цитата Сообщение от Гай Посмотреть сообщение
Просто забавно наблюдать, как у вас пятая точка детонирует.
Смотри. Ничего не смог показать ты, пойман на балабольстве ты, обделался ты, рыдаешь в углу ты. Определён треплом/пропагандистом мусорной скриптухи - ты. Но детонирует почему-то у меня. Очень удобная позиция.
Цитата Сообщение от Гай Посмотреть сообщение
Можете рассказать поподробнее?
Ну вперёд, какие подробности тебе нужны. Ты решил показать мне ос не на си? Вперёд, валяй. Чего ты вместо этого пишешь мне рандомные фразы без смысла.
0
11.08.2022, 19:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.08.2022, 19:24
Помогаю со студенческими работами здесь

Проблемы Rust
Привет всем. Предлагаю в этой теме собирать, обсуждать и предлагаю решение тех проблем, которые...

Примитивный чат на Rust
решил попробовать написать примитивный чат на Rust. получился приблизительно следующий код: use...

Rust не хватает функциональности?
Rust вобрал в себя немало из функциональных языков, но ему, по-моему мнению, все же...

Frontend Для RUST
Нужна помощь! Есть класс Participant, в этом классе есть функция new. impl Participant { ///...

Rust ошибка E0623
при компиляции появляется ошибка E0623 в документации этот номер пропущен. в чём может быть...

Rust: asynk/await
В Rust какая-то очень «самобытная» асинхронщина, понять её сложно. Итак, необходимый минимум -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru