Rust взлетает...?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 28.11.18 02:43
Оценка: 1 (1)
Довольно интересная новость из мира виртуализации: Amazon открыл исходные коды платформы виртуализации Firecracker, которая оказалась написана на Rust. С одной стороны, у Amazon было не так уж и много опций для реализации чего-то похожего: Си да Rust, ну может быть C++, хотя это сомнительно по причине относительно громоздкого рантайма. С другой стороны, это еще одна серьезная компания, которая заинтересовалась языком.

Может кто-то рассказать о своем опыте использования Rust в коммерческих проектах? Я пока что разве несколько стартапов с Rust видел, где он скорее по маркетинговым соображениям использовался, так как есть теория, что найти квалифицированного разработчика на Rust проще чем на C++. На первый взгляд разумная теория...
Re: Rust взлетает...?
От: Zhendos  
Дата: 28.11.18 07:15
Оценка: 8 (1)
Здравствуйте, kaa.python, Вы писали:

KP>Довольно интересная новость из мира виртуализации: Amazon открыл исходные коды платформы виртуализации Firecracker, которая оказалась написана на Rust. С одной стороны, у Amazon было не так уж и много опций для реализации чего-то похожего: Си да Rust, ну может быть C++, хотя это сомнительно по причине относительно громоздкого рантайма. С другой стороны, это еще одна серьезная компания, которая заинтересовалась языком.


KP>Может кто-то рассказать о своем опыте использования Rust в коммерческих проектах? Я пока что разве несколько стартапов с Rust видел


По-моему Rust много кто из крупных по чуть-чуть использует,
фейсбук для разработки своей VCS нанимал, dropbox в своей инфраструктуре использует
и т.д.

У меня лично как замена C++ для "логики" в новом проекте неплохо "зашел".
Отредактировано 28.11.2018 10:43 Zhendos . Предыдущая версия .
Re[2]: Rust взлетает...?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 28.11.18 07:22
Оценка:
Здравствуйте, Zhendos, Вы писали:

Z>У меня лично как замена C++ для "логики" в новом проекте неплохо "зашел".


Очень любопытно! Что за сфера проекта? Перед выбором Rust на C++17 смотрели?
Re: Rust взлетает...?
От: koenig  
Дата: 28.11.18 08:14
Оценка:
KP>Может кто-то рассказать о своем опыте использования Rust в коммерческих проектах?

levgem.lj.ru и swizard.lj.ru могут
Re[3]: C++17
От: Qbit86 Кипр
Дата: 28.11.18 08:26
Оценка: +2
Здравствуйте, kaa.python, Вы писали:

KP>Перед выбором Rust на C++17 смотрели?


А что там, изменили сущетсующую семантику ссылок/лайфтаймов в сторону безопасности и проверяемых компилятором гарантий? Нет, в язык просто досыпали новых фич, расширили стандартную библиотеку и уточнили вординг некоторых пунктов Стандарта.

Ядро языка как было слабым, так и осталось. То есть версия C++whatever никогда в принципе не сможет стать окончательным ответом на вопрос «смотреть ли в сторону Rust» или вообще «смотреть ли в сторону».
Глаза у меня добрые, но рубашка — смирительная!
Re: Rust взлетает...?
От: vsb Казахстан  
Дата: 28.11.18 08:31
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Довольно интересная новость из мира виртуализации: Amazon открыл исходные коды платформы виртуализации Firecracker, которая оказалась написана на Rust. С одной стороны, у Amazon было не так уж и много опций для реализации чего-то похожего: Си да Rust, ну может быть C++, хотя это сомнительно по причине относительно громоздкого рантайма. С другой стороны, это еще одна серьезная компания, которая заинтересовалась языком.


Почему не Go? Вон докер на Go написали же. Что значит громоздкий рантайм и как он помешает? Они же не на микроконтролерах запускают.
Отредактировано 28.11.2018 8:32 vsb . Предыдущая версия .
Re[2]: Rust взлетает...?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 28.11.18 08:39
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Почему не Go? Вон докер на Go написали же. Что значит громоздкий рантайм и как он помешает? Они же не на микроконтролерах запускают.


Уровень ниже чем у Докера, насколько я понимаю из описания. Нужно что-то без VM и способное на железе выполняться.
Re[3]: Rust взлетает...?
От: Cyberax Марс  
Дата: 28.11.18 08:51
Оценка: 6 (1)
Здравствуйте, kaa.python, Вы писали:

vsb>>Почему не Go? Вон докер на Go написали же. Что значит громоздкий рантайм и как он помешает? Они же не на микроконтролерах запускают.

KP>Уровень ниже чем у Докера, насколько я понимаю из описания. Нужно что-то без VM и способное на железе выполняться.
Это не проблема конкретно Go, на нём можно делать без особого напряжения достаточно низкоуровневый системный код. Firecracker не работает на голом железе, это просто обёртка над KVM в Линуксе. По сути, просто альтернатива qemu.

У Rust преимущество в том, что он более компактный и предсказуемый. Для Firecracker ещё одной из целей ставился жёсткий realtime с доказанными гарантиями, хотя потом на неё слегка забили.

Ну и я знаю команду, которая его писала — им было интересно попробовать Rust. Внутри Амазона они одни из первых его начали использовать.
Sapienti sat!
Re[4]: Rust взлетает...?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 28.11.18 09:16
Оценка: :)
Здравствуйте, Cyberax, Вы писали:

C>Ну и я знаю команду, которая его писала — им было интересно попробовать Rust. Внутри Амазона они одни из первых его начали использовать.


Так новость хорошо начиналась, а кончилось всё "эту игрушку мы ещё не пробовали". Жалко, ну да ладно.
Re[5]: Rust взлетает...?
От: Cyberax Марс  
Дата: 28.11.18 10:08
Оценка:
Здравствуйте, kaa.python, Вы писали:

C>>Ну и я знаю команду, которая его писала — им было интересно попробовать Rust. Внутри Амазона они одни из первых его начали использовать.

KP>Так новость хорошо начиналась, а кончилось всё "эту игрушку мы ещё не пробовали". Жалко, ну да ладно.
Там проект немного NIH'овый. Началось всё с того, что хотели прикрутить Kata Containers от Intel'а. Но у них нашли фатальный недостаток.

Впрочем, в итоге получилось неплохо — кода там не так много, так что поле для раздолья было не сильно большое.
Sapienti sat!
Re[4]: Rust взлетает...?
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 28.11.18 10:11
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Ну и я знаю команду, которая его писала — им было интересно попробовать Rust. Внутри Амазона они одни из первых его начали использовать.

Интересно, а другие основываясь на опыте этой команды пробовали пистаь на Rust?
Sic luceat lux!
Re[6]: Rust взлетает...?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 28.11.18 10:16
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Впрочем, в итоге получилось неплохо — кода там не так много, так что поле для раздолья было не сильно большое.


Я скорее о том, что как ни силюсь не могу найти серьёзных преимуществ Rust перед C++17. Каналы и Карго не тянут на таковые. Думал, может тут пример такого, ан опять нет, очередной пример "поиграть захотелось".
Re[7]: Rust взлетает...?
От: reversecode google
Дата: 28.11.18 10:50
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Здравствуйте, Cyberax, Вы писали:


C>>Впрочем, в итоге получилось неплохо — кода там не так много, так что поле для раздолья было не сильно большое.


KP>Я скорее о том, что как ни силюсь не могу найти серьёзных преимуществ Rust перед C++17. Каналы и Карго не тянут на таковые. Думал, может тут пример такого, ан опять нет, очередной пример "поиграть захотелось".


преимущество одно, можно наговнокодить и если оно скомпилилось то не упадет
другими словами в русте сложно отстрелить себе ногу
а поскольку стреляют себе в ногу чаще новички, то руст получается язык на который можно нанимать новичков за меньшие деньги
соответственно для бизнеса, попытка решения проблем меньшими затратами

проблема руста в данной логике, не понятно что с поддержкой в дальнейшем проектов написанных на нём
еще момент еще не понятно в каких области технологий можно влезть с рустом, т.е. это еще r&d и бизнес не готов експериментировать
ну т.е. к примеру hft хорошо для руста или нет ? не понятно
то что есть такая одна известная битмайнинг компания которая все с С++ переводит на руст, еще не значит что все хорошо
просто компания минимизирует свои затраты на разработчиков это понятно всем
не понятно насколько переписанное или переписываемое на руст действительно лучше себя проявляет чем то что написано на С++
Re[7]: Rust взлетает...?
От: Cyberax Марс  
Дата: 28.11.18 11:02
Оценка: +2 -1
Здравствуйте, kaa.python, Вы писали:

C>>Впрочем, в итоге получилось неплохо — кода там не так много, так что поле для раздолья было не сильно большое.

KP>Я скорее о том, что как ни силюсь не могу найти серьёзных преимуществ Rust перед C++17. Каналы и Карго не тянут на таковые. Думал, может тут пример такого, ан опять нет, очередной пример "поиграть захотелось".
Если в коде на Rust не использовать unsafe и не прилагать очень существенных усилий с Arc'ами, то код будет безопасным. Т.е. в нём не будет утечек, use-after-free, переполнений и т.д.

Сам язык тоже существенно приятнее С++, просто за счёт того, что в Rust'е нет legacy от С.
Sapienti sat!
Re[5]: Rust взлетает...?
От: Cyberax Марс  
Дата: 28.11.18 11:09
Оценка:
Здравствуйте, Kernan, Вы писали:

C>>Ну и я знаю команду, которая его писала — им было интересно попробовать Rust. Внутри Амазона они одни из первых его начали использовать.

K>Интересно, а другие основываясь на опыте этой команды пробовали пистаь на Rust?
Кто-то пробует, но чего-то крупномасштабного я не видел. Основные языки в Амазоне — это Java, за которой следует с большим отрывом Ruby и Perl. Там Rust сам по себе не нужен.

Насколько я знаю, на Rust смотрит группа, занимающаяся IoT, но не особо оживлённо.
Sapienti sat!
Re[3]: Rust взлетает...?
От: Zhendos  
Дата: 28.11.18 11:11
Оценка: 17 (4) +1
Здравствуйте, kaa.python, Вы писали:

KP>Здравствуйте, Zhendos, Вы писали:


Z>>У меня лично как замена C++ для "логики" в новом проекте неплохо "зашел".


KP>Очень любопытно! Что за сфера проекта?


Сфера скажем так близка к "safety-critical system", но ей не является
То есть например предсказуемость времени выполнения желательна, но не обязательна,
поэтому использование например GC в принципе возможно, но лучше без него,
соответствие coding style для "safety-critical system" желательно, но не обязательно и т.д.

KP> Перед выбором Rust на C++17 смотрели?


После ~10 лет использования C++ даже идеи посмотреть на C++XYZ не возникло.
То, чем понравился Rust конечно можно достичь в C++, если нафиг сломать обратную совместимость,
и заставить на новом диалекте переписать кучу уже существующих библиотек,
что конечно невозможно в рамках любого ближайшего будущего стандарта.

Если скажем взять для примера какое-нибудь описание обязательных практик для
"C++ for safety-critical system", то можно прям идти по списку и отмечать:
"это в Rust из коробки", "это в Rust из коробки", например

— использовать элементарные типы только с указанным размером,
в Rust стандартные типы только такие u8,u16, f32, f64, за исключением [ui]size
— никаких "integer promotion" и неявных преобразований, в Rust это ошибка компиляции
— очень ограничено использование препроцессора из-за возможных неочевидных эффектов,
в Rust макросы не могут неявно поменять что-либо в точке использования

и т.д. и т.п.,

плюс удобная, прозрачная, контролируемая обработка ошибок,
контроль компилятора за lifetime, нормальный move, без оставления объектов, которые можно только удалить,
метапрограммирование с помощью плагинов к компилятору,
единая система сборки с удобным включением стороннего кода в проект.

Еще наверное что-то забыл
Отредактировано 29.11.2018 2:04 Zhendos . Предыдущая версия .
Re[8]: Rust взлетает...?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 28.11.18 12:34
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Если в коде на Rust не использовать unsafe и не прилагать очень существенных усилий с Arc'ами, то код будет безопасным. Т.е. в нём не будет утечек, use-after-free, переполнений и т.д.


Так и C++ будет безопасным без голых указателей в обвесе с GSL и санитайзерами. Ну да, немного надо сделать не из коробки, но это же один раз делается
Re[9]: «C++ будет безопасным»
От: Qbit86 Кипр
Дата: 28.11.18 12:41
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Так и C++ будет безопасным без голых указателей


И без голых ссылок тогда уж?
Глаза у меня добрые, но рубашка — смирительная!
Re[10]: «C++ будет безопасным»
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 28.11.18 13:14
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>И без голых ссылок тогда уж?


В общем случае они не проблема. Косяки уровня возврата по ссылке локального объекта легко ловятся статическими анализаторами. Единственная действительная проблема C++
Автор: kaa.python
Дата: 28.11.18
— это его скорость развития и акцент на сильно не первостепенные фичи в прикладной разработке.
Re[7]: Rust взлетает...?
От: koenig  
Дата: 28.11.18 13:27
Оценка:
C>>Впрочем, в итоге получилось неплохо — кода там не так много, так что поле для раздолья было не сильно большое.

KP>Я скорее о том, что как ни силюсь не могу найти серьёзных преимуществ Rust перед C++17. Каналы и Карго не тянут на таковые.


не флейма ради, но самообразования для
что вместо каналов?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.