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