LINUX.ORG.RU

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

 ,


0

5

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

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

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

Deleted

Почему бы не переписать на bash или perl, которые есть по умолчанию в каждом первом дистре?

anonymous
()

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

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

мне кажется лучше задать вопрос «какую проблему я решу?», и если ответ «никакую» — то не надо

oxo
()

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

Подучишь Rust.

Но зачем? Go — это такой компилируемый питон, а Rust — Си на стероидах для браузеров параллельных числодробилок.

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

мне кажется лучше задать вопрос «какую проблему я решу?», и если ответ «никакую» — то не надо

+1

Aber ★★★★★
()

Если ты rust знаешь «в некоторой степени» то я бы не рекомендовал так делать, поскольку он требует практически полного переосмысления принципов программирования. И если у тебя возникают подобные вопросы, то переосмысление еще не произошло. Поэтому за такие проекты, тем более за переписывание браться точно не стоит, тем более с go.

Serbis
()

Если это не числодробилка, а просто какой-то «менеджер», то перепиши на bash.

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

…на процессоре. Не настолько параллельных и не совсем числодробилок, да.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

Go — это такой компилируемый питон

Очень громкое утверждение.

Go — это скорее язык КуМира латиницей, готовый для продакшона.

siegment
()

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

Получишь небольшой опыт на Rust.

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

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

i-rinat ★★★★★
()
Ответ на: комментарий от siegment

Очень громкое утверждение.

Питонщики частично валят на Го. Так что не громкое. Сам переписывал для одного с питона.

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

поскольку он требует практически полного переосмысления принципов программирования

Если ты ранее ничего кроме С++ не использовал, то, возможно – Rust у тебя действительно потребовал практически полного переосмысления принципов программирования.

Я никогда на одной технологии зашорен не был, и для меня после всех других – Rust не требует «практически полного переосмысления принципов программирования».

Поэтому давайте обойдемся без сектантства, этот тред не об этом.

Deleted
()

В конце возможно ощущение траты времени впустую.

А за ним депрессия, пьянство и суицид.

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

Если ты ранее ничего кроме С++ не использовал, то, возможно – Rust у тебя действительно потребовал практически полного переосмысления принципов программирования.

C, C++, Python, Java, Scala, Haskell, JavaScript, TypeScript, Lua - это то что вспомнилось из того с чем я имел дело до раста и все же пришлось переосмыслить. Написав порядка где-то порядка 25к строк кода на расте, понял что ничего подобного среди всего что мне встречалось в мире программирования нет.

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

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

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

нет, всего лишь хейтом питона

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

kostyarin_ ★★
()

Какую проблему ты хочешь решить переписыванием на Rust?

quantum-troll ★★★★★
()

Ну может бинарь итоговый будет слегка поменьше. Хотя это под вопросом. Но что точно – это всем пофигу на эту разницу.

kostyarin_ ★★
()

Щасбы утилиту, состоящую из 99.99% скриптоты, писать на статически типизированых языках. Поэтому:

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

Никакие преимущества не получишь

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

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

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

Почему бы не переписать на bash или perl, которые есть по умолчанию в каждом первом дистре?

потеря скорости

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

Go — это такой компилируемый питон

Пайка^WМеня всегда удивляло почему Го с Питоном сравнивают. Что у них общего?

urxvt ★★★★★
()

Тебя @RazrFalcon покусал или ты просто вбросить решил? Это же заведомо бред, зачем?

P.S. Описание твоего out-of-tree мягко говоря не блещет, я интуитивно понимаю что это и зачем оно, но всё ранво толком не понятно как этим пользоваться.

WitcherGeralt ★★
()

я думаю, стоит писать и на том и на другом.

это оба языка со своими преимуществами.

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

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

Что у них общего?

синтаксис простой. меньше головной мороки, по сравнению с C/C++.

ну и ещё, Go сейчас может полностью заменить Python. за сим их так часто и сравнивают.

PexuOne
()

RustFalcon, перелогинься.

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

Домен (сервисы, утилитки, скриптота) и простота в использовании.

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

Что у них общего?

Квадратно-гнездовой подход, упор на простоту вплоть до примитивности. Если прищуриться — то и область применения.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от WitcherGeralt

ML, где у питона вообще конкуретнов нет.

такое возможно, только если для этого там используется автогенерация кода, когда программа пишет сама себя. если нет, то нет... да и на go такого можно добиться...

PexuOne
()

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

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

Короче я не развожу сектантские темы тут.

Да? А по фразам «полного переосмысления принципов программирования» так и не скажешь.

В целом – не нужно переносить на других людей свой субъективный опыт. Если у тебя были сложности и потребовалось «полное переосмысление принципов программирования» – это не значит, что для всех это представляет такую же сложность.

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

не нужно переносить на других людей свой субъективный опыт

Ты сам этого и просил в хэдпосте. Других способов, окромя как судить по себе, у людей нет

anonymous
()

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

Стоит ли переписывать проект с X на Y.

Нет. С любовью, ваш Rust сектант.

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

А, а ну пиши на расте тогда! В таком случае непонятно из-за чего возник твой вопрос. Ибо раз ты уверен в своих знаниях, почему же ты не видишь какие сложности тебя подстерегают?

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

У другого языка может быть более удобное API для того рода библиотек, что используется – libvirt, docker, GUI/TUI, разбор опций командной строки и прочее.

Поэтому некоторые проекты были переписаны с Python на Go, например.

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

синтаксис простой. меньше головной мороки, по сравнению с C/C++.

У С тоже синтаксис простой.

ну и ещё, Go сейчас может полностью заменить Python. за сим их так часто и сравнивают.

Я это к чему. Питон гораздо более высокоуровневый язык чем Go. Го, в этом плане, мало чем от С отличается: строка такой же примитивный кусок байт, массив тоже. В Го даже append слайсу сделать уже не так тривиально как в Питоне.
Го это просто более безопасный С с GC, не более.

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

Он там еще регексами балуется, с чем perl получше справляется.

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

он требует практически полного переосмысления принципов программирования

Шта?

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

У всех популярных ML-фреймворков есть биндинги для питона, есть куча библиотек вокруг них, огромное количество примеров, jupyter, все только на питоне это и пишут. Нельзя просто взять и поменять питон на что-то другое. Это как C для операционной системы, нет ни смысла, ни возможности его заменить.

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

Можно брать то что первым пришло в голову и вываливать в код не думая. Скомпилируется и будет даже как-то работать.

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

Вопроса «стоит ли мне писать на Rust» не стояло, следовательно и элитарного сектантства (к слову, откуда оно вообще взялось в Rust комьюнити? У тех же Haskell’истов несмотря на всю красоту и «возвышенность» языка я никогда никакой элитарности не встречал ― все очень даже приятные люди) на тему «Rust очень сложен, не стоит тратить время на изучение» ― я увидеть не ожидал.

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

упор на простоту вплоть до примитивности

Мне кажется, простота там совсем разная: сравни простоту добавление в слайс у Го и в список у Питона. Одно просто для программистов просто понимающих что такое память и все, не заботящихся о всяких ГЦ, бороу-чекерах, тайпклассах. Другое просто для школьников/математиков/физиков не понимающих вообще ничего.

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

Если прищуриться, то питон не такой уж и простой. А вот Go как ни крути больно примитивный.

RazrFalcon ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.