LINUX.ORG.RU

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

 ,


0

5

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

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

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

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

Гуёвые приложения на питоне вообще плохой тон писать

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

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

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

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

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

На Tcl/Tk конечно же. Можно и на электроне, если у тебя штанишки подвернуты.

bread
()

Сравнил простой Go с Ктулху... головную боль ты получишь, и щупальца осьминога анально.

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

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

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

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

Да, обработчики для Sciter можно писать почти на чём угодно (хоть на D).

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

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

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

knovich
()
Последнее исправление: knovich (всего исправлений: 1)

а почему конфиг nixos архивирован, поиграл и все?

anonymous
()
Ответ на: комментарий от 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 ★★★★
()
Ответ на: комментарий от hbee

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

Это довольно актуально для Go, можно взять готовые бекенд с фронтендом и в standalone приложение завернуть.

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

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

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

Сишкой/плюсишкой, чем же еще. Для неосиляторов православного гтк есть gtkmm. В крайнем случае из питона можно подергать гтк.

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

Так разговор и начался с того, что я сказал, что питоном не кошерно, а другой юзер, чо не хочет возиться с C++ (С и GTK он, явно, даже не рассматривал).

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

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

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

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

https://gtk-rs.org/

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

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

жир из монитора потёк, вот зачем так делать? кто убирать будет?

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

Rust — Си на стероидах для браузеров параллельных числодробилок.

разве Rust умеет в числодробилки??

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

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

Algol 60?

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

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

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

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

anonymous
()

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

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

Желание переписать на Rust, пока больше никаких:)

Но я о таких проектах пока не слышал.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)

Перепиши на Common Lisp, сделай одолжение, если уж у тебя есть свобода переписывания.

Выкинь эти хипстерские недоязыки.

lovesan ★★★
()

Зачем? Есть же прекрасный Clojure.

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

Ну может бинарь итоговый будет слегка поменьше.

tinygo в помосч.

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

Коммон лисп от и для военщины же, а там быстро научат штаны правильно носить.

bread
()
Ответ на: комментарий от 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 ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.