LINUX.ORG.RU

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

 ,


0

5

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

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

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

Deleted

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

А на чём их писать, если не хочется возиться с C++?

Например, на Go. Даже не принимая во внимание вебморды, для классического десктопа есть как минимум три зрелые опции:

  • Gotk3 — биндинги для GTK+3
  • Fyne — GUI-тулкит поверх OpenGL
  • Sciter — HTML/CSS/JS-движок с биндингами для Go
hbee ★★★ ()
Ответ на: комментарий от hbee

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

К тому же, мне нужен редактор кода с подсветкой синтаксиса (виджет имеется в виду). Есть ли это всё в перечисленных решениях?

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

это баловство

Почему? Это на первый взгляд выглядит вполне зрело.

Есть ещё два поддерживаемых биндинга к GTK3, самостоятельный фреймворк gi (выглядящий как говно) и Wails — этакий гошный электрон поверх вебвью.

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

go-gtk — GTK 2, gotk3 — GTK+3

Ничего не пробовал, кроме Sciter. На Qt (нативном) работал много, но когда пробовал биндинги к другим языкам, всегда вылезали ненужные проблемы. Поэтому у меня сложилось мнение, что на Qt лучше не выпендриваться. Если начну серьёзный GUI-проект, возьму GTK+3 (Sciter, кстати, рендерит под Linux тоже в GTK+3).

gi интересная, а Wails просто веб-приложение, завёрнутое для автономного запуска.

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

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

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

Ты не анонимный.

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

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

https://gtk-rs.org/

Только хелворды строчить в гордом одиночестве. Проблема всех брейнфаков: никто их не знает и не хочет связываться. Кстати, неизвестно сколько подводных камней в этих обертках. Ну а по факту и не наблюдается никакой гуйни на брейнфаках. Пионерия зубы обломает и идет дальше точить свои микросервисы.

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

Написав порядка где-то порядка 25к строк кода на расте, понял что ничего подобного среди всего что мне встречалось в мире программирования нет.

Algol 60?

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

Перепиши на си, если делать нечего, это будет куда проще и быстрее чем осваивать раст.

У меня «ровное дыхание» при упоминании любого языка программирования.
У многих «просвещенных» и «передовых» начинаются хрипы в голосе, дергание глаз, а иногда рук и ног /может быть даже пена у некоторых с рта идет/.

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

anonymous ()

Что за троллиег, ты обиделся на RazrFalcon? Ты царя то читал кста? Он дельные вещи говорит, как в прочем и фалкон, взял бы ты питон какой нить, плюсцы как царь вроде советовал ненад в прочем.... Задача нета.

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

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

А самое главное добрая половина machine learning это фактически питон.

anonymous ()

Пиши на Metaprog'е. Лучше человечество ещё не придумало. Забудь про мусор Go/Rust/C++ и прочие лиспы. Все это говно, по сравнению с Метапрогом.

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

Пардон, подниму тред месячной давности.

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

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

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

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

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

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

У меня тоже есть причины подозревать, что в медиапространстве ведется грязный пира Go для перетягивания на него кодеров, чтобы потом иметь источник макак для эксплуатации. Потенциальный заказчик - гугл, который не хотел раньше создавать свой язык и тянул до последнего, но, к сожалению, C++ настолько ужасен, а питон настолько ограничен и тормознут, что в конце-концов пришлось. Раста ведь не было в 2009.

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

и Qt есть. И wxGo

therecipe/qt пробовал, конечно. Собирается очень тяжело, и имеет ли смысл вообще. По большому опыту работы с Qt и некоторыми его биндингами — биндинги получаются ущербными (видимо, из-за сложности Qt как такового), и на практике лучше оставаться на C++, если уж так нужен Qt (сам, когда понадобится GUI, освою Sciter — будет полезно в любом случае).

wxGo заброшен.

hbee ★★★ ()