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

Почему Rust?

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

Author24 — интернет-сервис помощи студентам
Добрый день!
Почему Вы предпочли этот язык?
0
Programming
Эксперт
9485 / 562 / 19
Регистрация: 12.04.2006
Сообщений: 11,671
Блог
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
Модератор
5106 / 3334 / 535
Регистрация: 01.06.2013
Сообщений: 6,999
Записей в блоге: 9
08.08.2022, 16:33 2
Удачная концепция управления памятью без сборщика мусора позволяющая и памяти не утекать и использовать RAII. Строгая типизация, трейты (мне, после haskell хорошо зашли), многие возможности функционального программирования, вывод типов.
К сожалению, то что нынче принято называть экостистемой языка, недостаточно быстро развивается.
1
Нарушитель
99 / 89 / 16
Регистрация: 12.01.2022
Сообщений: 990
08.08.2022, 16:50 3
Современный, нетипичный.
Но будет больно при местами и часто, потому что усложнён из-за своей концепции.
1
Просто Лис
Эксперт Python
5966 / 3729 / 1097
Регистрация: 17.05.2012
Сообщений: 10,787
Записей в блоге: 9
09.08.2022, 08:35 4
По сравнению с питоном и другими интерпретируемыми языками, раст - компилируемый, даже кросс-компиляция под другие платформы (в линуксе под винду) работает без проблем. На выходе один бинарник, не нужно таскать с собой среду выполнения (интерпретаторы или jre).

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

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

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

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

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

Впрочем, то что он вобрал уже сйществующие фичи не делает его плохим.
1
Нарушитель
99 / 89 / 16
Регистрация: 12.01.2022
Сообщений: 990
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
5966 / 3729 / 1097
Регистрация: 17.05.2012
Сообщений: 10,787
Записей в блоге: 9
10.08.2022, 08:01 7
Для тех, кто в ужасе от синтаксиса выше, там просто устанавливается время жизни возвращённого значения из функции &str.new() равным времени жизни переменной bee. Компилятор не осилил вывод стандартных лайфтаймов, вот мы ему помогли.

В частности это гарантирует на момент компиляции отсутствие висячих ссылок, когда данные были уничтожены, а ссылки (указатели?) на память остались.
0
Нарушитель
99 / 89 / 16
Регистрация: 12.01.2022
Сообщений: 990
10.08.2022, 08:59 8
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Для тех, кто в ужасе от синтаксиса выше, там просто устанавливается время жизни возвращённого значения из функции &str.new() равным времени жизни переменной bee.
Я знаю что это значит, так как я этот код для примера и придумал.
Изначально Rust был без времён жизни ссылок, но потом "умные ребята" решили эту функцию добавить.
Возьмём например библиотеку GTK на Rust.
Там все объекты сразу завёрнуты в Rc. (gtk работает однопоточно). Ну и смысл тогда в этих временах жизни? Это просто ненужный геморрой. Было бы нормально, если бы эту функцию можно было бы включать и выключать когда нужно: типа компилятор смотрит указано ли время жизни? Если нет, то оборачивает всё в умный указать с подсчётом ссылок.
На одном небольшом примере, возможно, это и смотрится нестрашно, но представьте библиотеку большого фреймворка с этой требухой...
0
Заблокирован
10.08.2022, 19:41 9
Вас обманули, никто не выбирает раст. Простой пример - языку около 10 лет, но софта на нём так и не появилось.
0
Нарушитель
99 / 89 / 16
Регистрация: 12.01.2022
Сообщений: 990
10.08.2022, 20:12 10
Цитата Сообщение от jsforever Посмотреть сообщение
Вас обманули, никто не выбирает раст. Простой пример - языку около 10 лет, но софта на нём так и не появилось.
А какой вам софт нужен? gcc компилятор уже поддерживает Rust. Частично язык уже используется в коде ядра. Со временм этого кода будет становится всё больше.
0
Заблокирован
10.08.2022, 20:18 11
Цитата Сообщение от Гай Посмотреть сообщение
А какой вам софт нужен?
Любой. Ос, бд, браузеры, компиляторы и прочее.
Цитата Сообщение от Гай Посмотреть сообщение
gcc компилятор уже поддерживает Rust.
Цитата Сообщение от Гай Посмотреть сообщение
Частично язык уже используется в коде ядра
Покажете?
Цитата Сообщение от Гай Посмотреть сообщение
Со временм этого кода будет становится всё больше.
Ну да, больше 10 лет уже становится.
0
Нарушитель
99 / 89 / 16
Регистрация: 12.01.2022
Сообщений: 990
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
Нарушитель
99 / 89 / 16
Регистрация: 12.01.2022
Сообщений: 990
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
37417 / 20789 / 4279
Регистрация: 12.02.2012
Сообщений: 34,202
Записей в блоге: 14
11.08.2022, 11:13 16
jsforever, Гай, рекомендую придерживаться рамок приличия в дискуссии. И не употреблять резких выражений.
1
Нарушитель
99 / 89 / 16
Регистрация: 12.01.2022
Сообщений: 990
11.08.2022, 16:29 17
Цитата Сообщение от jsforever Посмотреть сообщение
Снова манипуляция. Кто-то спрашивал вас про переписать? Нет. Вас спрашивали про написание.
То есть вы правда не понимаете? Ну ладно, бывает.
Цитата Сообщение от jsforever Посмотреть сообщение
Куллстори номер два. Первое - си используется во всех системах.
Во всех - это каких? Вы хоть историю юникс-систем знаете?
0
Заблокирован
11.08.2022, 17:32 18
Цитата Сообщение от Гай Посмотреть сообщение
То есть вы правда не понимаете? Ну ладно, бывает.
Ну так что, как там с "гцц поддерживает", "в ядре уже используется", "редокс", "мозила"? Чего вы всё проигнорировали? Ой, ничего этого нет? Ну ладно, бывает.

Кстати, покажете мне переписанный дискорд? Или опять начнёте плакать?
Цитата Сообщение от Гай Посмотреть сообщение
Во всех - это каких? Вы хоть историю юникс-систем знаете?
Во всех - это во всех. Выше я кратко перечислял это. Вы решили включить дурачка и делать вид, что вам не расказали?
0
Нарушитель
99 / 89 / 16
Регистрация: 12.01.2022
Сообщений: 990
11.08.2022, 18:50 19
Цитата Сообщение от jsforever Посмотреть сообщение
Или опять начнёте плакать?
Вы жаждете того, чтобы все плакали?
Цитата Сообщение от jsforever Посмотреть сообщение
Кстати, покажете мне переписанный дискорд?
Идите и смотрите. Ссылку привёл.
Мне-то на вас начхать с высокой колокольни. Просто забавно наблюдать, как у вас пятая точка детонирует.
Цитата Сообщение от jsforever Посмотреть сообщение
Во всех - это во всех. Выше я кратко перечислял это. Вы решили включить дурачка и делать вид, что вам не расказали?
Можете рассказать поподробнее?
0
Заблокирован
11.08.2022, 19:24 20
Цитата Сообщение от Гай Посмотреть сообщение
Вы жаждете того, чтобы все плакали?
Я жажду того, чтобы пропагадндисты не балаболили.
Цитата Сообщение от Гай Посмотреть сообщение
Идите и смотрите. Ссылку привёл.
Молодец, быстро поплыл. Но давай попроще - ты должен показать код дискорда и пояснить его назначение. Ссылки на рандомные статейки из гугла ничего не значат.
Цитата Сообщение от Гай Посмотреть сообщение
Мне-то на вас начхать с высокой колокольни.
Ага. Как обделался - так сразу начхать/всё равно/я вообще не хотел ничего писать. Правда это противоречит реальности - если было начхать, ты не писал бы мне. А если написал - значит не начхать. А если не начхать - значит обделался.
Цитата Сообщение от Гай Посмотреть сообщение
Просто забавно наблюдать, как у вас пятая точка детонирует.
Смотри. Ничего не смог показать ты, пойман на балабольстве ты, обделался ты, рыдаешь в углу ты. Определён треплом/пропагандистом мусорной скриптухи - ты. Но детонирует почему-то у меня. Очень удобная позиция.
Цитата Сообщение от Гай Посмотреть сообщение
Можете рассказать поподробнее?
Ну вперёд, какие подробности тебе нужны. Ты решил показать мне ос не на си? Вперёд, валяй. Чего ты вместо этого пишешь мне рандомные фразы без смысла.
0
11.08.2022, 19:24
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
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
Ответ Создать тему
Блоги программистов
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­хронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9 Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget. . .
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin. Есть ещё регистры,. . .
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru