LINUX.ORG.RU

Стоит ли переписывать проект с Go на Rust?

 ,


0

5

Вот думаю, а не переписать бы мне out-of-tree на Rust? Последний я в некоторой степени знаю, но полноценных самостоятельных проектов пока не было. Пока проект не разжирел сильно (всего две с половиной тысяч строк), поэтому переписывание само по себе не будет слишком затратно по времени.

Какие преимущества я получу?

С какими проблемами я столкнусь?

Deleted

Ответ на: комментарий от RazrFalcon

Go, тем более Rust, для других задач

Rust явно для других, писать на нём подобное надо либо из большой любви к языку, либо из-за страсти к мазохизму. Но для каких задач по-твоему Go?

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

WitcherGeralt ★★ ()

Не стоит. Rust - это когда ты готов получать Memori Safety и экономию ресурсов ценой больших усилий, притом даже в сравнении с C. Где это не нужно, выбирать раст разве что для попрактиковаться.

anonymous ()
Ответ на: комментарий от WitcherGeralt

Я хз зачем нужен Go. Гуглу видимо зачем-то нужен. Рекламируют как быстрый питон, но сомневаюсь что у 90% сбежавших на него с питона были такие нагрузки.

Я вот на питоне пишу скрипты. Зачем их переписывать на go - не ясно.

PS: зачем мне нужен Rust я знаю.

RazrFalcon ★★★★★ ()
Ответ на: комментарий от RazrFalcon

Но это задача для скриптоты.

Когда-то давно, когда все компилируемые языки со статической типизации были только низкоуровневыми (как Си) – это имело значение.

Сейчас это более не актуально.

Deleted ()
Ответ на: комментарий от Deleted

Что ты флейм разводишь, если что-то годное написал, то язык не имеет значения, если только он не накладывает очивидных ограничений, как например обязательное наличие рантайма. Или же переход на Х дал бы супер буст перформанса, но это не твой случай. Тык что успокойся и найди себе другой проект для опытов с rust.

anonymous ()
Ответ на: комментарий от RazrFalcon

Гуглу видимо зачем-то нужен

Из-за зеленых тредов очень легко и топорно писать сетевые демоны, которые перекладывают байты из сокета в сокет.

Возьмем тот же Rust, так там будет невменяемая Tokio лапша. Ни у кого нету на это дерьмо времени.

А в Go будет код, выглядящий как блокирующий код из 90-х, хотя это будет async, event-driven с низу до верху библиотеки.

vertexua ★★★☆☆ ()

Вот думаю, а не переписать бы мне out-of-tree на Rust?

Советовал бы это делать только в качестве эксперимента и только если есть достаточно свободного времени

Какие преимущества я получу?

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

С какими проблемами я столкнусь?

Придётся больше думать, также будет много недопонимания почему именно Rust был выбран, возможно придётся работать с не до конца зрелой экосистемой или с нестабильными возможностями языка

I60R ★★ ()
Ответ на: комментарий от vertexua

Go будет код, выглядящий как блокирующий код из 90-х

Да! Я когда вспервые это увидел, ничего не понял и был в ступоре. Где мой epoll, где select, вы что сдурели, как без них код писать?

WitcherGeralt ★★ ()

Если это вброс ради флейма, то слабовато. Лучше бы про Си спросил, я бы тебе объяснил насколько ненужно на него переписывать. А так пох. Только не забудь, ну, то что вам инопланетянам жизненно необходимо в таких случаях и вперёд. И с песней. Только это ведь не нужно. Ты бы лучше документировать свои поделия научился как следует. Чтобы интуитивно всё было. Ю-икс/ю-ай, типа, понимаешь ли.

anonymous ()
Ответ на: комментарий от RazrFalcon

хотя бы одно преимущество Go перед питоном для скриптов

на Go ты получаешь самодостаточный экзешник без внешних зависимостей. а для Py - нужен ещё и интерпретатор, который не всегда в рабочем состоянии

PexuOne ()
Ответ на: комментарий от bread

А потом понадобилось пару строчек подправить на серваке

кто-то ещё использует мэннед серваки? в каменном веке чтоли? серваки сейчас пачками делаются в виртуалке по щелчку пальцами, с уже установленной федорой и докером.

за автоматизацией наблюдает какой-нибудь дженкинс.. какие строчки ты собираешься править на серваке? всё уже исправлено за тебя.

PexuOne ()
Ответ на: комментарий от anonymous

GO более хайповый и привлечет к проекту больше внимания

Я может не в тех кругах общаюсь, но слышу о ГО только на ЛОРе в основном от онанов.

Им кто то за пределами гугл-облака пользуется?

grim ★★★☆ ()
Последнее исправление: grim (всего исправлений: 1)
Ответ на: комментарий от RazrFalcon

сомневаюсь что у 90% сбежавших на него с питона были такие нагрузки.

90% бегущих куда-либо сами не осознают зачем они туда бегут. Потому что ведут себя как стадо, ведомое очередным «козлом-провокатором» на «бойню».

grem ★★★★★ ()
Ответ на: комментарий от WitcherGeralt

Не полностью, есть ещё как минимум ML, где у питона вообще конкуретнов нет.

Еще мелкие десктопные приложения на Go сложно, на питоне легко.

anonymous ()

Вижу, пошли сравнения питона с го) Короче, кроме ML, го не совсем и в вебе может его заменить. Мне (и не только мне) в разработке бэкенда, например, нужна нормальная ORM, миграции и т.п. Есть это для го? Gorm такой себе весьма, а альтернатив вменяемых у него фактически нет. Писать руками все запросы к базам можно, конечно, но тогда придется и мапперы писать руками, что скорость разработки замедлит ощутимо. В питоне есть Алхимия, которая в 100500 раз надежней, стабильней и удобней, чем Горм. Кто-то скажет, что в го не принято юзать ORM вообще. Ну ок. Но, если так, то, очевидно, го не является альтернативой питону, потому что нормально полноценно разрабатывать на нем API не получится.

dimuska139 ()

Переписывать скрипт на Go в скрипт на Rust? Офигенная затея.

Какие преимущества я получу?

Можешь получить веселье от процесса.

С какими проблемами я столкнусь?

Есть вероятность не получить веселья.

anonymous ()
Ответ на: комментарий от anonymous

Гуёвые приложения на питоне вообще плохой тон писать, я считаю. Но этого навалом, конечно. На Go я не пробовал ещё, но собрал уже приличную пачку библиотек для этого, думаю, что даже если это и не так просто как на питоне, то особых проблем быть не должно всё равно.

WitcherGeralt ★★ ()