172 похожих чатов

Умные люди, подскажите - а чем концептуально сложно писать какой-нибудь

бэкенд на rust? Ведь пишут на go (там бывают утечки, иногда их очень тяжело отлавливать, особенно если были обрёртки над плюсами), пишут на java и scala (тоже типизация, правда с gc). И вроде в rust очень приятный drop, сильные типы, немного фп. Что именно вызывает такую боль, когда говорят про обычные web приложения на rust?

20 ответов

9 просмотров

Нет GC

A-Kazurus Автор вопроса
VCL
Нет GC

Так в 95% drop сделает сам ту же работу?

Вообще, не так уж мало людей пишут ржавые беки и в целом всем довольны как раз хотя бы на https://www.rust-lang.org/production/users посмотреть - там чуть ли не треть это какие-то веб беки

A-Kazurus Автор вопроса
VCL
Не drop, а ownership, RAII

Так и в чём боль тогда без gc?

A Kazurus
Так и в чём боль тогда без gc?

Нет никакой боли, просто сам язык имхо сложнее чем условный го

A-Kazurus Автор вопроса

Я пишу бек на Rust. Боли нет. Фронт, кстати, тоже пишу )

A Kazurus
Так и в чём боль тогда без gc?

Если ты пишешь по канонам раста - ебешься с лайфтаймами. Если забиваешь и пишешь с Rc/Arc, получаешь версию гц, только без детектора островов и прочих прелестей нормального гц. А ещё еблю с шаред мутированием.

Dmytro Polunin
Если ты пишешь по канонам раста - ебешься с лайфта...

Мы бы с радостью, но с тредами без 'static не поиграешь

Dmytro Polunin
Если ты пишешь по канонам раста - ебешься с лайфта...

У меня практически нет типов с лайфтаймами и Rc/Arc. Все работает. Что я делаю не так?

Мои пять копеек: писать обычно приятно и не очень сложно, а вот поддерживать и сопровождать иногда больновато. Не весь тулинг доведён до ума, не все библиотеки нормально попользованы и вычищены от глупых багов, поэтому иногда, когда что-то ломается, мне, как человеку, избалованному JVM, бывает сложно быстро найти проблему и починить. Пример: задеплоили приложение, всё, вроде ок. Начали грузить load тестами — потекла память. Ну ок, идём смотреть на профайлеры: всё серьёзное только под Linux, анализируют только аллокации, поэтому проблему показывают примерно. Удалённо подключиться и потрекать память можно, но нужно менять немного сборку проекта, чтобы с кастомным аллокатором запуститься или ставить какие-нибудь доп. профайлеры и запускать ими. А потом перезапускать тест, ждать и анализировать многогигабайтные дампы. А в той же Java — подключился удалённо наживую к приложению (порт, конечно, нужно заранее открыть, но ставить или крутить дополнительно ничего не нужно) и сразу видишь всю кучу со всем графом, гуляй по жирным объектами смотри, что они себе в память понаписали, прямо сами данные посмотреть можно. Хоть дебажь так же, если совсем нужно. И так примерно со всем: на любой закидон приложения приходится тратить больше времени и сил, чем этого бы хотелось бы. Но и таких проблемных закидонов сильно меньше, как мне кажется.

Kirill Bulatov
Мои пять копеек: писать обычно приятно и не очень ...

Дык с го разве не того же свойства проблемы если очень хочется наживую в памяти порыться? Это ж проблема скорее отсутствия виртуалки как таковой, а не отдельно взятого языка.

Eugene Babichenko
Дык с го разве не того же свойства проблемы если о...

С Го, наверное, так же, я не знаком. Но решил поделиться чутка наболевшим)

A-Kazurus Автор вопроса
Kirill Bulatov
Мои пять копеек: писать обычно приятно и не очень ...

Благодарю, интересный опыт, буду иметь ввиду 👍

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
7
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Карта сайта