Заблокирован
|
|
1 | |
Почему Rust?08.08.2022, 11:59. Показов 5154. Ответов 46
Метки нет (Все метки)
0
|
08.08.2022, 11:59 | |
Ответы с готовыми решениями:
46
[Rust] Как привязывать WinAPI-функции к коду на Rust? [Rust] Обсуждение возможностей и предстоящей роли языка Rust Rust+assembler [Rust] Time |
Модератор
|
|
08.08.2022, 16:33 | 2 |
Удачная концепция управления памятью без сборщика мусора позволяющая и памяти не утекать и использовать RAII. Строгая типизация, трейты (мне, после haskell хорошо зашли), многие возможности функционального программирования, вывод типов.
К сожалению, то что нынче принято называть экостистемой языка, недостаточно быстро развивается.
1
|
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
|
|
08.08.2022, 16:50 | 3 |
Современный, нетипичный.
Но будет больно при местами и часто, потому что усложнён из-за своей концепции.
1
|
Просто Лис
|
|
09.08.2022, 08:35 | 4 |
По сравнению с питоном и другими интерпретируемыми языками, раст - компилируемый, даже кросс-компиляция под другие платформы (в линуксе под винду) работает без проблем. На выходе один бинарник, не нужно таскать с собой среду выполнения (интерпретаторы или jre).
Довольно удобные новые концепции типажей (трейтов) и лайфтаймов. Мощный репозиторий готовых библиотек - пожалуй, это самое главное. Плюс совместимость с существующим Сишным кодом. Добавлено через 37 секунд Наверное, то же самое можно сказать про гоу, но с ним не знаком. Добавлено через 45 секунд Только гоу более закрытая платформа, в смысле, что внешние сишные либы или подобное подключить сложно или невозможно. Добавлено через 2 минуты Ещё вспомнил: в расте удачные реализации многопоточности и примитивов (мютексы и прочее). Недавно вышла новая стабильная версия компилятора раста, где стали использоваться более современные и быстрые блокировки ядра линукса. То есть простая перекомпиляция новым компилятором твоего кода улучшило производительность.
1
|
Модератор
|
|
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 | |||||
Лайфтаймы это очень удобно.
0
|
Просто Лис
|
|
10.08.2022, 08:01 | 7 |
Для тех, кто в ужасе от синтаксиса выше, там просто устанавливается время жизни возвращённого значения из функции
&str.new() равным времени жизни переменной bee . Компилятор не осилил вывод стандартных лайфтаймов, вот мы ему помогли.В частности это гарантирует на момент компиляции отсутствие висячих ссылок, когда данные были уничтожены, а ссылки (указатели?) на память остались.
0
|
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
|
|
10.08.2022, 08:59 | 8 |
Я знаю что это значит, так как я этот код для примера и придумал.
Изначально Rust был без времён жизни ссылок, но потом "умные ребята" решили эту функцию добавить. Возьмём например библиотеку GTK на Rust. Там все объекты сразу завёрнуты в Rc. (gtk работает однопоточно). Ну и смысл тогда в этих временах жизни? Это просто ненужный геморрой. Было бы нормально, если бы эту функцию можно было бы включать и выключать когда нужно: типа компилятор смотрит указано ли время жизни? Если нет, то оборачивает всё в умный указать с подсчётом ссылок. На одном небольшом примере, возможно, это и смотрится нестрашно, но представьте библиотеку большого фреймворка с этой требухой...
0
|
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
|
|
10.08.2022, 20:12 | 10 |
А какой вам софт нужен? gcc компилятор уже поддерживает Rust. Частично язык уже используется в коде ядра. Со временм этого кода будет становится всё больше.
0
|
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
|
|
10.08.2022, 22:08 | 12 |
Вас в гугле забанили?
жми и смотри Добавлено через 1 минуту На нём уже практически сразу написали ОС для пробы. Redox называется. 10 лет для системного языка - не срок.
0
|
Заблокирован
|
|
11.08.2022, 07:22 | 13 |
Так это вас забанили, иначе вы не пытались бы врать. Что вы сообщали изначально?
Ищем эту поддержку в gcc - ой, её нет. Сморим gccrs, ту самую "поддержку" - https://github.com/Rust-GCC/gccrs: Следующая куллстори от пропагандиста: Опять же, никакого раста в ядре сейчас нет - опять враньё. Даже ссылку нормальную пропагандист нагуглить не смог(видимо, его действительно забанили в гугле): Уважаемый пропагандист, сообщаю вам новость - никому не нужно ос для пробы. Нужно то, что будет использоваться. Смотрим. На си есть линукс, который используется почти везде, а там где не используется - там есть бсд/масдай/ещё какая-то закрытая хрень, которая так же на си. Ой, оказывается никаких ос на расте нет. Ну ничего, бывает. Враньё. Во первых, на си/спп через десять лет после их появления была написана большая часть существующего софта. Во вторых, сейчас условия несоизмеримо лучше - есть халявный ллвм(ненужно писать свой компилятор), есть куча софта(не нужно заниматься исследованиями/проектированием - это уже сделано) и самое главное: на си/спп сегфолты по десять раз в секунду, уб через строку и прочее - т. е. там время разработки на порядки больше. На расте же, если верить пропаганде, никаких подобных трудностей нет, поэтому здесь софт должен был появиться даже не через 10 лет, а через максимум 5. Но его почему-то нет. Вот так у людей и складывается впечатление, что раст "выбирают". Но в реальности это просто старания пропагандистов.
0
|
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
|
|
11.08.2022, 09:24 | 14 |
Её только начали внедрять. Но это шаг именно к использованию Rust в Linux.
Да. вы мало понимаете, как оказывается. На Rust была написана Redox OS и было это сделано в целях исследования возможностей языка. Просто разработчики тестировали можно ли создать полноценную юних-подобную операционную систему и как это будет выглядеть и работать. То, что Rust не где не используется, это, конечно же, брехня. Та жа Mozilla использует Rust в своём браузере firefox на ряду с другими языками. Discord был переписан с GO на RUST. Вообще-то Си создаваля под конкретную задачу - написание юникс системы. Стоит ли потом удивляться, что Си используется в юникс-системах.
0
|
Заблокирован
|
|
11.08.2022, 10:48 | 15 |
Так, похоже этот пропагандист совсем поломался.
А теперь внимание: Опущено. Куллстори. Опять же, что вы мне отвечаете? Я говорил что: на расте нет ос. Вы мне линкуете локальный ресёрч(на самом деле нет - редокс элемент пропаганды для подобных персонажей). То есть вы признаёте, что вы врунишка, я всё правильно понял? Ах, да, смотрим внимательнее: Во первых, здесь опять можно видеть попытки пропагандиста врать. То он расказывал про исследование и тестирование, то вдруг уже полноценная ос появилась. Показания противоречат даже друг другу, не говоря уже о реальности. Во вторых, оно никак и нигде не работает, о чём я сообщал выше. Отсюда следует один вывод - исследование провалилось и никакой ос на расте не не написать(на самом деле нет - никто и не хотел писать никакую ос, просто нужна методичка на случай неудобных вопросов). К тому же, как-то вы быстро позабыли про "уже используется в ядре". Я поймал вас на вранье, вам стало нечего ответить и вы решили проигнорировать тему, которую сами же и подняли? Достойно. Неверно. Там есть демонстративная часть кода, чтобы пропагандисты могли говорить "использует раст". Хотя даже раста там нет - https://github.com/mozilla/gec... afe&l=rust - даже здесь куча ансейф, который растом не является. Снова манипуляция. Кто-то спрашивал вас про переписать? Нет. Вас спрашивали про написание. Перевести готовую логику с одного скриптового языка на другой ничего не стоит, о чём я так же сообщал. И да, мне лень смотреть, переписали ли они там хоть что-то, либо это опять ложь. Куллстори номер два. Первое - си используется во всех системах. Второе - на си написано около 100% всего софта, а не только "системы". Опять сектант пытается забалтывать. В целом, это типичная картина - 99% раст пропагандистов просто врут в наглую, далее лепят какие-то отмазки, ждут когда все забудут(либо модераторы потрут) про это и далее опять начинают врать.
0
|
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
|
|
11.08.2022, 16:29 | 17 |
То есть вы правда не понимаете? Ну ладно, бывает.
Во всех - это каких? Вы хоть историю юникс-систем знаете?
0
|
Заблокирован
|
|
11.08.2022, 17:32 | 18 |
Ну так что, как там с "гцц поддерживает", "в ядре уже используется", "редокс", "мозила"? Чего вы всё проигнорировали? Ой, ничего этого нет? Ну ладно, бывает.
Кстати, покажете мне переписанный дискорд? Или опять начнёте плакать? Во всех - это во всех. Выше я кратко перечислял это. Вы решили включить дурачка и делать вид, что вам не расказали?
0
|
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
|
|
11.08.2022, 18:50 | 19 |
Вы жаждете того, чтобы все плакали?
Идите и смотрите. Ссылку привёл. Мне-то на вас начхать с высокой колокольни. Просто забавно наблюдать, как у вас пятая точка детонирует. Можете рассказать поподробнее?
0
|
Заблокирован
|
|
11.08.2022, 19:24 | 20 |
Я жажду того, чтобы пропагадндисты не балаболили.
Молодец, быстро поплыл. Но давай попроще - ты должен показать код дискорда и пояснить его назначение. Ссылки на рандомные статейки из гугла ничего не значат. Ага. Как обделался - так сразу начхать/всё равно/я вообще не хотел ничего писать. Правда это противоречит реальности - если было начхать, ты не писал бы мне. А если написал - значит не начхать. А если не начхать - значит обделался. Смотри. Ничего не смог показать ты, пойман на балабольстве ты, обделался ты, рыдаешь в углу ты. Определён треплом/пропагандистом мусорной скриптухи - ты. Но детонирует почему-то у меня. Очень удобная позиция. Ну вперёд, какие подробности тебе нужны. Ты решил показать мне ос не на си? Вперёд, валяй. Чего ты вместо этого пишешь мне рандомные фразы без смысла.
0
|
11.08.2022, 19:24 | |
11.08.2022, 19:24 | |
Помогаю со студенческими работами здесь
20
Проблемы Rust Примитивный чат на Rust Rust не хватает функциональности? Frontend Для RUST Rust ошибка E0623 Rust: asynk/await Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |