Особенности:
- Программы на Vala транслируются в C код, поэтому по производительности практически не уступают программам, разработанным непосредственно на С.
- Синтаксис Vala во многом напоминает синтаксис C#, C++ и Java с полной поддержкой ООП, что упрощает разработку, в отличии от чистого С.
- Бинарные файлы получаются по размеру в разы меньше, чем на многих современных компилируемых языках вроде Go или Rust.
- Управление памятью в Vala основано на подсчете ссылок, поэтому нет накладных расходов на сборщик мусора.
Полезные ресурсы:
- Учебник: https://wiki.gnome.org/Projects/Vala/Tutorial/ru
- Ещё один учебник: https://vala.gitbook.io/vala
- Обзор языка: https://nim-ru-tutorial.gitbook.io/ibm-vala-guide
- Документация: https://wiki.gnome.org/Projects/Vala/Tutorial/ru
Литература:
- Introducing Vala Programming: A Language and Techniques to Boost Productivity. Authors: Lauer, Michael [EN] (https://link.springer.com/book/10.1007/978-1-4842-5380-9)
Аналогичное приложение на Golang заняло бы порядка 25-30Мбайт, а на Rust 500Кб - 1Мб.
>Бинарные файлы получаются по размеру в разы меньше,
А плюсы то будут у этого нового нескучного языка?
>Управление памятью в Vala основано на подсчете ссылок, поэтому нет накладных расходов на сборщик мусора.
А как тогда проблема циклических ссылок решается?
Нахуй он нужон?
Vala получает все плюсы языка С, но при этом программировать также легко как на сишарпе или джаве
Если класс содержит ссылку на себя или несколько классов хранят ссылки друг на друга, то нужно использовать модификатор weak для одной из ссылок.
К примеру,
class Node {
public weak Node prev;
public Node next;
}
https://wiki.gnome.org/Projects/Vala/ReferenceHandling
Там не русскоязычное коммьюнити
Писать легковесные приложения для линупса. На сегодняшний день такое можно делать на С или С++, но программировать на них довольно сложно. Vala же предлагает облегченный стиль программирования в стиле сишарпа или джавы. Если писать графические приложения на GTK+, то она вообще вне конкуренции.
Когда успел?
>Vala - это новый язык программирования
>новый
Этому мертворожденному гномосячьему говну уже сто лет в обед, я блять ещё когда в сосничестве с гтк2 игрался, оно уже было
У C нет плюсов.
Ну хоть конкретное применение нашли, а то заебали эти убийцы сишки раз в месяц мелькать. Их там где-нибудь в конторах типо красной шапочки поддерживают хоть или как обычно один васян пилит на энтузиазме?
>Полноценное графическое приложение
>Rust
>Golang
Я даже ебало этого вкатунца имаджинировать не могу
Модный-молодежный питон вообще в 1989 году создали
XFCE на базе Gnome2, поэтому GTK приложения там будут нативными. В KDE придётся ставить доп. библиотеки.
Не стоит забывать, что в основе лежит С, поэтому никуда ничего не денется. Старые GTK программы запускаются и на современных системах.
Xfce на базе gtk. Гном это набор интегрированных приложений, у иксфеси свой набор приложений, свой оконный менеджер, свой сессоный менеджер, свой файлый менеджер, своя панель во своими виджетами. Все это существовало паралельно гноме2 и даже до гнома и жрало меньше памяти чем гном
Дак альтернатив нет. Либо мучаешься на Си, который не поддерживает ООП, либо надо учить огромный комбайн С++. Vala даёт разумный компромисс, язык простой, но эффективный.
Джава работает на виртуальной машине JVM, поэтому даже не рассматривается.
Раст имеет сомнительный синтаксис и через чур сложную семантику. К тому же генерирует большие бинарники. Хеллоу ворлд на Си и Вала - 16Кб, на раст - 500Кб.
С++ нужно долго изучать, да и само программирование на нём требует кучи инструментария, без которых будет такая же боль как на чистом С.
Вала же учится буквально за один день (если знаком с каким-то языком программирования типа сишарпа или джавы).
Причём тут вкат вообще? Вала - это не про вкат. Это язык для души.
>Полноценное графическое приложение Text File Viewer на Vala занимает всего 27Кб.
А если под винду его собрать, сколько оно будет занимать вместе со всеми либами, т.е. половиной четвертого гнома?
>Почему именно с++, если есть раст и джава?
Потому что с окошками на расте все свосем плохо, а на джаве надо тащить вместе с приложухой весь jvm на 200 мегабайт. Минимальное Qt приложение можно ужать до 10 мегабайт.
Это пример из тутора
Нейроинтерфейс нужно будет купить. Можешь, конечно, использовать тот, что Кабаныч выдаст, но потом не жалуйся...
В любом случае Вала - приятный язык, а раст - противный
На примере любого поделия от жидбрейнс можно понять, что джава - это не лучший выбор для создания графических десктопных приложений. Тормозит, лагает, жрёт ОЗУ как не в себя. На слабых машинах её просто невозможно использовать (да, я пробовал).
В то время как на Вала можно создавать легковесные приложения. При этом сам язык такой же простой как и джава.
>можно создавать легковесные приложения
Можно это когда приложения создают, они есть, а когда приложений нет, это не можно, нельзя создавать приложения.
>У тебя мегабайты диска по талонам?
Я дорожу местом на системном диске. Особенно сейчас, когда каждая параша на электроне минимум по гигабайту занимает, и место может кончится очень быстро.
>Программы на Vala транслируются в C код, поэтому по производительности практически не уступают программам
Почему тут слово "практически"? А теоретические она уступает? А если практически = почти, то почему уступает, если транслируется?
>Управление памятью в Vala
Зачем?
>>136240
>Если класс
И нахуя нужны классы?
> Vala - это новый язык программирования, предназначенный для прикладного и системного программирования на основе библиотек GLib Object System (GObject) рабочей среды GNOME/GTK+
Понятно, это гномокал. Спасибо, говно не кушаю.
Никогда не понимал смысла этого бесполезного языка.
Хочешь писать в ООП стиле - пишешь на C++, можно еще на Pascal.
Хочешь писать на Си - пишешь на Си и имитируешь ООП вручную.
Для неосиляторов C++ еще был какой-то D, хз, чем он не угодил гномосекам.
>Понятно, это гномокал. Спасибо, говно не кушаю.
У меня в kdialog (приложение в KDE/Qt для диалоговых окон, вроде открытия/сохранения файла) течет память, может забить все 16 ГБ. Приходится тогда переключаться на GTK'шные приложения. Но интерфейс там полный пиздец.
Да это одного поля говнокал, что кеды, что гном. Тут другого варианта кроме как сесть за тайлы просто нету в 2к24 году, Sway или ещё чего такое. Либо это, либо шинда, я хз невозможно этим всем пользоваться.
>Sway или ещё чего такое
Так там только управление окошками, для виджетов в прогах будут все те же Qt и GTK, проги сами все те же будут, что в гноме или КДЕ.
>Никогда не понимал смысла этого бесполезного языка.
Это вроде свифта у яблопидоров, который начинался как обертка вокруг Objective-C. Это такая же обертка вокруг GObject и C, только шарпоподобная.
Ну уж точно причина этому не в криворукости жидбрейнсов.
То есть параша на электроне для тебя дороже чем одна установка жвм, что в 5 раз меньше места занимает на всю систему чем 1 эта самая параша на электроне? Ясн.
>почему уступает, если транслируется
Вала более высокоуровневый язык, чем С. Объектная модель, строки, динамические массивы требуют больше ресурсов. Теоретически программист на С мог бы переписать это всё более низкоуровневыми конструкциями.
>классы
ООП позволяет писать большие программы, в то время как обычная процедурная программа становится через чур сложной для понимания после 1000 строк.
>пишешь на C++
Его надо выучить на хорошем уровне, что писать. А выучить его сложно. Вала в этом плане гораздо проще.
>пишешь на Си и имитируешь ООП вручную
Можно и так, но имитация всё равно выглядит чуждой, сложно читается, нужно соблюдать кучу ограничений, легко ошибиться. В Вала же синтаксис выглядит естественным и легко читается, ошибки контролирует компилятор Вала.
>какой-то D
Там сборщик мусора со своим рантаймом, поэтому не сможешь получить такие же эффективные программы как на Вала.
>То есть параша на электроне для тебя дороже чем одна установка жвм
Параша на электроне всем нужна по работе, а жвм не одна системная, а идет бандлом к каждому жабоприложению, потому что жавопидоры переносимые приложения не умеют.
>предназначенный для прикладного и системного программирования на основе библиотек GLib Object System (GObject) рабочей среды GNOME/GTK+.
Только не говорите что эта хуйня гвоздями прибита не то что к одной конкретной ОС, а к одному конкретному DE?
Прибита только к GLib (то есть даже без GTK можно использовать). От гнома не зависит, наоборот, есть Elementary - DE, целиком написанное на Vala.
Поищи проблему в прокладке между сидушкой и монитором, у меня стоит ровно одна jdk на одну необходимую версию джавы, за исключением если я ставлю не сразу то что надо и потом переставливаю нормальную сборку, по итогу около гигабайта-полутора на все нужные версии и случайные дубли при +- 400 установленных на машине проектах.
Ну ты молодец значит. Теперь научи дурачков из джетбрейнса использовать системную жвм, а не тянуть свою с каждой версией ИДЕ.
Писал, 25к строк. Просто нужно нормальная архитектура, не каждый может себе позволить такое, ООП говнокодить проще, тем более вся любая архитектура будет повторять ооп паттерны
Дело не в размере жвм, а в том, что это виртуальная машина которая не может даже с памятью системы работать, нужно выделать память заранее всю как в буквальных виртуалках с образами ос. И видимо из за этой излишней виртуальности жаба вдобавок еще и дичайше тормозит.
>на основе библиотек GLib Object System (GObject) рабочей среды GNOME/GTK+.
Сразу в морг.
Под линуксами есть две беды - GNOME/GTK+ и KDE.
За GTK вообще говорить не хочу, это уёбище не стОит даже упоминания, а вот KDE это хороший пример кривых рук и того, как не надо программировать.
А какая по-твоему программа на си большая? На миллион строк? В соло такую хуйню не пишут.
Да, проблемы? Винда единственная графическая ОС из существующих, так что её апи единственный, подражать больше тупо нечему. На пердюликсах нет никаких графических апи кроме вайна - эмулятора винапи. Васянские поделки гном/кде и прочее такой треш, даже не смешно.
>>139141
>Под линуксами есть две беды - GNOME/GTK+ и KDE.
Под линуксами есть одна беда - консоль. В смысле это не беда, а фича - вечно сосать консоль, на большее можно не рассчитывать. Тупорылые маняфантазии дебилоидных мечталелей, вот что такое графические интерфейсы на линуксе, сразу детектор имбецила.
>За GTK вообще говорить не хочу, это уёбище не стОит даже упоминания, а вот KDE это хороший пример кривых рук и того, как не надо программировать.
Ебать, тысячи инженеров трудились над разными версиями консолей и оболочек а тут Васян с двачей обосновалось что всё это хуйня. Пряморукий ну-ка запили нам свою систему, пусть Торвальдс обзавидуется.
>тысячи инженеров трудились
Полтора обосрыша высирают версию гнома/гтк/кде, понимают, что она говно, выбрасывают, переписывают с нуля новую версию, понимают, что она говно, выбрасывают, переписывают с нуля новую версию, понимают, что она говно, выбрасывают, переписывают с нуля новую версию, понимают, что она говно, выбрасывают, переписывают с нуля новую версию, понимают, что она говно, выбрасывают, переписывают с нуля новую версию, понимают, что она говно, выбрасывают, переписывают с нуля новую версию, .....
Прям наглядный показатель имбецила, только имбецил думает, что от повторений одно и того же действия, что-то изменится в лучшую сторону. Естественно ничего не меняется, точнее меняется в худшую сторону, чем больше переписывают, тем хуже становится. Но пердодебилы слишком тупые чтобы понять, продолжают долбиться лбом об стенку отбивая последние мозги в тщетной надежде, что от этой долбежки в стене откроется дверь в рай. Не откроется, только в конец череп треснет и мозги размажутся об стену, вот куда идет весь этот васянский пердософт, настоящее будущее всего этого помойного кала.
>понимают, что она говно, выбрасывают, переписывают с нуля новую версию, понимают, что она говно, выбрасывают
Ты только что MS, которая высирает новый фреймворк для окошек каждые пять лет: Win32, MFC, WinForms, Silverlight, WPF, WinUI. Сейчас большинство проектов тупо на Qt начитают писать, или сразу под электрон, чтобы в вендоговне не копаться.
https://www.youtube.com/watch?v=J5TfqvVg-50
Как косяки майков оправдывают уебищность линупса? Винформы 2003 год и ВПФ 2006 к слову до сих пор получают обновления и поддержку
>Win32, MFC, WinForms
Как было, так до сих пор поддерживается и развивается. Винапи так вообще еще с Windows 3.1, MFC с WinForms тоже та еще древность 20+ лет, но поддерживается на самой последней Visual Studio прямо сегодня.
>Silverlight
Венбпараша. При чем тут майкрософт, вебпараша это мирок в себе, там всё сдыхает за день как мухи по осени.
>WPF, WinUI
Как выпустили, так и работают по сей день.
Ну и что сказать-то хотел? Винда это вин с вечной поддержкой, там ничего не переписывают, кроме рюшечек в оболочке, а система со всеми апи вечные, потому что великолепные и идеальные, аналогов нет. А на пердопараше одно говно, что признают сами же пердоразраюотчики дропающие это говно, заменяя новым говном которыое тоже дропается, и так далее до бесконечности как наглядно показано >>140354
Нечего ответить пердосвинья перешла на визг. Ну и откуда в такой помойке годные ос и приложения? НЕВОЗМОЖНО, пердосрань - синоним говна, ничего кроме говна там нет и быть не может, ибо сборище необучаемый уродов не желающих признавать ошибки и вместо этого бесконечно долбящиеся башкой об стену и огрызающиеся когда здравые люди на это указывают.
Пойди еще что-нибудь дропни и перепиши, ведь кроме мерзкого говна которое сам же хочешь постоянно дропать, пердосвиньи ничего не производят на свет.
>Под линуксами есть две беды - GNOME/GTK+ и KDE.
Слишком жирно. Ты же понимаешь обосрышь, что свои гомопасты ты тут высираешь как раз благодаря тому что все вертится на линуксе с ненавистным тобой gnome и kde. Проснись, ты не умничаешь, ты просто серишь под себя.
Вертится разве что дилдак в жопе линуксоидов, которые и воют как волки на луну при каждом выходе очередного кала, означающего, что предыдущий кал дропнули и вот вам новый еще хуже, жрите.
>что предыдущий кал дропнули и вот вам новый еще хуже, жрите
Как ты точно венду описал лол. Восьмерка достаточно каловая была, но 11 ее переплюнула - реально шедевр каловых масс от индусов.
Как тупой пердоскот предсказуем, серет тупостью даже не читая, читать не может.
Описан был пердолинукс - прямая противоположность винды, потому что винда делает новое, НО НИЧЕГО НЕ ДРОПАЕТ. Если что-то сделано на винде, оно продолжает работать, потому что винда идеальна навечно, а перлоликс постоянно дропает, потому что на нём делают только говно не живущее и пары лет, как сами разработчики блюют и удаляют его нахуй, чтобы ЗМЕНИТЬ НА ГОВНО ЕЩЕ ХУЖЕ. А на винде НИЧЕГО НЕ ДРОПАЮТ И НЕ ЗАМЕНЯЮТ, там всё как сделано, так и продолжает работать всегда, потому что на винде делают только годноту, которая продолжает поддерживаться потому что не говно.
В то время как винда добавляет новое и новое к букету превосходности возвышаясь и возвышаясь к небесам великолепия, пердоликс только удаляет и удаляет говно, только опускаясь глубже в дерьмо, т.к. каждая следующая итерация только хуже, а старые все уничтожены.
>НО НИЧЕГО НЕ ДРОПАЕТ
Здравый смысл она дропает лол. Не дропает, потому что не опен-сорс. Заказчик себе нужную конфигурацию не может собрать, вот они и тянут все подряд. Поэтому в винде сейчас две разных панели инструментов. И еще куча говна из 80-х, кое-как существующая на ИВЛ, но неизбежно протухающая с каждым годом. Собственно, само Win32 - безнадежно устаревшее в 2024 году легаси, прибитое к ОС гвоздями. Ну и с поддержкой ты напиздел, старый софт в 11 уже не запустить, нужна виртуалка. И с каждым годом эта куча тухлого говна будет работать все хуже, потому что разрабы уходят, а как все это поддерживать - там никто уже не понимает.
Под линуксом ты можешь собрать что угодно под свои нужды. Не нравится гном 4 - берешь Mate, KDE слишком тяжелая - ставишь LxQt. Не нужны иксы - ставишь современный вейланд. Можешь собрать ОС хоть под кластер суперкомпьютеров, хоть под одноплатник. И ничего лишним грузом в системе не висит.
>гном 4
Почему гном 4 не поддерживает все предыдущие гномы? Потому что ВСЕ гномы - говно, которые сами же разработчики гномов уничтожают каждый раз от омерзения.
Почему винда 11 поддерживает все предыдущие винды? Потому что все винды прекрасны и разработчики их холят и лелеют.
Вот поэтому винда правит миром и каждый вменяемый разработчик приложений пишет под винду прекрасные приложения, а под линукс никто не пишет кроме полторы поехавших сектантов высирающих говно. И это никогда не изменится, как видно сама политика систем разная, винда нацелена на творение, создание, на прекрасный софт. а линукс это поехавшая секта свидетелей хаоса мечтающих только об уничтожении и деградации. Эти психи реально думают, что уничтожение решит их проблемы, мол, если уничтожить всё что им не нравится (начиная с винды и продолжая колясками убунтами, системди, иксами, всего что "легаси", и так далее козлами отпущения), на появившемся пустом месте просто так вылупится всё что нравится. Нет, идиоты, уничтожением вы только руините сами себя. Нельзя молиться хаосу, это самоубийство. И тем более ваша ненависть к самим себе не уничтожит ничего что вас не касается, винда продолжит процветать, на ваши визги всем похуй. Вы руините только сами се6я - линукс только деградируюет в этом порочном цикле ненависти желания все стереть, будто это поможет.
>Почему гном 4 не поддерживает все предыдущие гномы?
Что значит "не поддерживает предыдущие гномы"? Приложения как запускались так и запускаются. Причем можно третий гном в систему поставить если не нравится. Под 11 виндой я эксплорер от семерки не могу поставить.
>и каждый вменяемый разработчик приложений пишет под винду прекрасные приложения
Десктопные проги чисто под винду сейчас почти не пишут. В основном электрон или Qt. Потому что у большинства разрабов - маки, и пишут они на нем, и изначально проги делают под мак. У МС самые популярные приложения - офис365 и вскод, с браузерным UI.
>а под линукс никто не пишет кроме полторы поехавших сектантов
Под линукс пишут вообще все: от нищего студента, до корпораций, стоящих дороже майкрософта. Даже у нас: мы сейчас после ИТМО брали джуна, так он виндой пользоваться не умеет, они всю дорогу под линуксом обучались.
>линукс только деградируюет
Так деградирует, что винда сейчас только на офисных компах осталась, все остальное железо - на линуксе, от кассового аппарата до суперкомпьютера.
Да нахрена ты его кормишь ? Этот дурак похоже кроме убунты ничего не щупал. Серверные решения для него что то на эльфийском. Или он зелёный или очень туп.
Кеды тормозной жирный кал для тех, кто не против поставить лишние пару плашек мозга, чтобы окошки не тормозили. Кутэ разве что ещё туда-сюда, но это плюсы, я отказываюсь писать на языке, который заставляет меня отыгрывать роль компилятора в прямом эфире.
>последний раз я пытался им пользоваться году так в 2010
Блядь какие же шизы сидят в треде. Свою базу можешь себе в то самое место воткнуть. Может еще скажешь что Андройд тебе не нравится, ведь в 2010 он был жутко тормозной и жрал батарею, поэтому не стал пользоваться а сидишь на симбиане. Возьми своего зеленого друга повыше и съебите в /fag или /b, там вам самое место .
> от кассового аппарата до суперкомпьютера.
То есть прошивка для роутера. Я не отрицаю, что обоссаные железячки имеют право на жизнь, как и их пердопрошивки, но винда всё же ОС для компьютеров, совсем не то. Компьютер это универсальное устройство с мириадом софта на все возможные применения, а не специализированный высер с полтора прогами для одной цели.
Че ты расперделся, говно? Элементарный блять GtkFileChooser сделан не людьми для людей, а инопланетянами для умственно отсталых дцпшников: постоянно вылезает ебучий нахуй никому не нужный серч когда пытаешься ввести имя файла; путь по умолчанию спрятан и нет ни единой возможности показать его через UI, надо знать специальную шизокомбинацию, придуманную гномосеками; не дай бог при сохранении выберешь директорию, ведь в этом случае кнопка сейв будет переходить внутрь этой директории. Кто это разрабатывал, зачем, и какими соображениями он руководствовался? Давай попизди мне, как неебательски изменился гном за 14 лет, если даже такую базовую хуйню никто не собирается фиксить полтора десятилетия. Но гномосекам норм, терпилы по жизни, пьющие мочу Мигеля, прихлебывают и не выебываются. Когда же напившимся мочи гномосекам пытаются объяснить, что они мочехлебы и говноеды, то они с полным ртом говна устраивают истерику
>не людьми для людей, а инопланетянами для умственно отсталых дцпшников
Это их подход по HIG. Они изначально и последовательно делают все максимум просто, тупо и без излишеств. Не нравится - бери Qt.
>Они изначально и последовательно делают все максимум просто, тупо и без излишеств
Тогда у них получился бы xfce. А то, что у них получилось по факту -- это неведомая хуйня, бесполезная, неудобная, прикрывающая свою убогость неким "минимализмом", который они бы не узнали, даже если бы минимализм им на яйца наступил
>неведомая хуйня, бесполезная, неудобная, прикрывающая свою убогость неким "минимализмом"
Это твое личное мнение. Не подходит - ну ОК, они всем и не пытаются угодить. Во многих дистрах гном дефолтный, и людям нравится. Сделайте свой диалог. КТО?? Я???
>Сделайте свой диалог. КТО?? Я???
Бля обожаю кукаретиков вроде тебя, нихуя не знает, но пиздит. Ты как будешь свой кастомный диалог подсовывать в чужие приложения, чтобы они его вызывали, а не гткшное встроенное говно?
>Это твое личное мнение
Срыг на пикасру оформи
>Ты как будешь свой кастомный диалог подсовывать в чужие приложения
GTK3 такое позволяет уже лет 10 как.
>Срыг на пикасру
Ты, конечно, запредельно тупое, хамское быдло даже по меркам нынешнего харкача. Таким законодательно надо запрещать в инет выходить.
>GTK3 такое позволяет уже лет 10 как
При чем тут гтк, шиз? Вот у меня фуррифокс, поставленный из репов, например под xfce запускается. Как бы мне фуррифоксу объяснить, что надо показать каштомный файл пикер вместо дефолтного?
>Ты, конечно, запредельно тупое, хамское быдло даже по меркам нынешнего харкача. Таким законодательно надо запрещать в инет
Ньюфань, просто срыгни и не позорься
>гном дефолтный, и людям нравится
Лолблять, гомосятина обдолбалась женскими гормонами, последние мозги вытекли.
Потому что открытые геи пользуются GNOME и MacOS.
Стыдно за современных линуксоидов. Срать на гном всегда было просто правилом хорошего тона, неким коммон граундом, культурным кодом
> очередная императивная параша
Пиздос. Вот бы сделали полную обертку GTK, но для FP языка.
Все, которые я видел либо не все виджеты поддерживают, либо поддерживают все, но не поддерживают GDK и GIO, без которых GTK неюзабелен.
Вот бы модный молодёжный декларативный реактивный UI-фреймворк для создания приложений для Gnome.
Как же императивный GTK заебал.
В свободное время копрокубовские моды и плагины на заказ и просто пишу. Каждый заказ, каждый плагин, даже самый маленький, это проект. Поэтому их дохуища, я даже считать не хочу это говно.
>>139134
Причём тут оперативная память, если речь идёт о диске?
> жаба вдобавок еще и дичайше тормозит
Пока что тормозит всё что угодно, но только не джава. Регулярно бенчмарки джавы золотым дождём по разным тредам проходят.
> Пока что тормозит всё что угодно, но только не джава. Регулярно бенчмарки джавы золотым дождём по разным тредам проходят.
Это троллинг тупостью? В этих бенчмарках джаву обычно сравнивают с калом типо шарпов, забывая что есть класс решений лишенных проблемы трансляции байт кода (rust, c/cpp, go)
Это троллинг тупостью? Сишарп по сравнению с жабой летает как ассемблер. Хуже дерьможабы только питон.
>нехфюкафхмгмгфхгп
Извини друг, на языке функциональщиков не разговариваю. Можешь вынуть монаду из жопы и сказать нормально?
Прямо на мемы просится.
Что-то по делу будет, обчитеренный?
>на джаве надо тащить вместе с приложухой весь jvm на 200 мегабайт.
>Минимальное Qt приложение можно ужать до 10 мегабайт
минимальный рантайм на джаве можно урезать до 40 мегабайт через jlink
Этого не делают, потому что нахер никому не нужно этими глупостями заниматься. Но для душнил это можно сделать, вот пожалуйста (примерный код):
FROM openjdk:21-jdk
RUN jlink --add-modules java.base --output /jre
FROM alpine
COPY --from=0 /jre .
Вот тебе докер контейнер с jre на ~40 МБ
>И там UI останется?
Всмысле UI? Swing? Большинству веб приложений не нужен он, но если уж тебе надо, то со свингом это уже будет ~80 МБ
>Большинству веб приложений не нужен он
Ты тред вообще читаешь? Вопрос был в сравнении размера оконного приложения.
>то со свингом это уже будет ~80 МБ
Это все равно значительно больше Qt или Wx приложений. Ну и по удобству и функционалу свинг значительно проигрывает вообще всем популярным фреймворкам для гуя.
Ну смотря что считать удобством. Например свинг приложения переносимые, а QT/Wx - нет, нужно перекомпилировать. По функционалу - не знаю что там не может свинг, что может Qt?
>Ну смотря что считать удобством.
Удобство создания приложений. Свинг монструозный, и требует для самых простых вещей множества телодвижений. Очень больно под него кодить.
>Например свинг приложения переносимые
Только самые простые. Реально почти всегда надо или возможности ОС дергать или какие-то виджеты, завязанные на натив, использовать (для трехмерки или видео плеер).
>Удобство создания приложений. Свинг монструозный, и требует для самых простых вещей множества телодвижений. Очень больно под него кодить.
Ну то есть ничего конкретного, я понял. В общем ожидаемо, будто Qt не монструозный.
>трёхмерка делается через LWJGL и такая же переносимая
Переносимая, если либа собрана под нужную платформу лол. Это не считая того, что сам OpenGL не настолько кросс-платформенный, чтобы без проблем работать на всех ОС, видяхах и драйверах.
>Ну то есть ничего конкретного, я понял.
Я под свинг писал во времена шестой джавы, больше 10 лет назад, конкретики уже не помню. Помню только, что вещи, которые в Qt одной строчкой делались, под свингом требовали каких-то диких плясок с бубном. Постоянно надо было от чего-то наследоваться, прописывать по 10 интерфейсов, воротить какие-то громоздкие иерархии из классов. В свинге какое-то адовое ООП из 90-х в терминальной форме.
Опять же надо написать ручками самому конфиг для этого xmake, что равноценно изучению нового языка xmake со всеми его кривыми премудростями. Это ни чем не лучше mason или ninja, которые рекомедуются для vala, но все эти инструменты надо изучать дольше, чем сам язык. К тому же они заточены на C/C++, поэтому примеров для vala не найти.
Смысл же инструментов типа cargo в том, что ничего не надо писать руками. Он сам должен генерировать все конфиги.
https://www.youtube.com/playlist?list=PLriKzYyLb28mn2lS3c5yqMHgLREi7kR9-
>Минус только, что всё на английском.
Это не минус, это норма. Ты как системы хочешь изучать без английского?
Да по видео в принципе все должно быть более менее понятно, можно субтитры включить с переводом. Ну если сил хватит английский подтяни, для обучения и работы все же надо.
Если язык востребован для работы, то на него делают кучу обучающих материалов на русском, а значит английский учить не надо для работы.
Если только работать в рынке СНГ, тогда да. А если на западные компании и их прокладки то без английского никак. Не обязательно высокий уровень, хотя бы базовый для общения и чтения документации.
Какие иностранные компании? Они уже два года как повесили железный занавес.
Это сила не какой-то особенности языка, а сила provided скоупа, додик.
>Полноценное графическое приложение
>Golang
Земля тебе пухом если возьмешься гуи писать на нём. Гошка язык для написания бекендов, в стандартной библиотеке из коробки ты можешь поднять простое веб приложение без лишних зависимостей. А вот с гуями тут всё плохо печально и максимально нудобно
Короче поглядел. хуйня для аутистов сишников, которые другой жизни не видели, чтобы переписать свое легаси говно в гноме. Высрали шарпо-жабоподобную хуйню со всеми минусами такого синтаксиса, которые обоссали уже неоднократно. С достаточно нищей стандартной библиотекой и отсутствием механизма управления зависимостями, оно и ожидаемо сишники как настоящие аутисты пишут свои костыли каждый раз, пока остальные берут готовые библиотеки. Либо творят ад из зависимостей с библиотеками, которые нужно поставлять с софтом типа всяких json-glib.
Короче далеко за предела покарски кнопок в гноме не взлетит, но думаю им там жизнь упростит, но не сильно, поскольку найдут чем усложнить себе жизнь
После голанга на виртуальной машине по делу наверное тебе никто ничего не скажет
Не ворочайся, слитое.
А хули ты хотел высрали говно визуально похожее на жабу, при этом с инфраструктурой и управлением зависимостями как у си нет нихуя
>как у си
Так это же просто оболочка над си. Только нахуя? Все кому могла быть нужна вала, уже давно выучили си и сидят пишут свою еботу
Для Gnome там дохуя небольших программ https://gitlab.gnome.org/GNOME которые судя по всему поддерживать на сишке больно, собственно вот и изобрели языка для gtk чтобы кнопочки-окошки было удобнее клепать, положив на остальное большой хуй
>Бинарные файлы получаются по размеру в разы меньше
Это сейчас главная проблема в мейнстриме программирования.
>Vala во многом напоминает синтаксис C#
Бинарный хеллоуворд на го весит ~2-3, а бинарный (aot) на шарпах ~1мб, на расте где-то 0,5мб. Ну и нахер мне все это когда уже сейчас могу на шарпах в бинарь собираться и писать свои хобби игры на юнити?
>Управление памятью в Vala основано на подсчете ссылок, поэтому нет накладных расходов на сборщик мусора
Современные сборщики мусора (не в го) это:
1) Защита от циклических ссылок (беда часто встречающаяся в ООП).
2) Резервирование хипа - решение для замены системных вызовов аллокации памяти.
3) Поколения, чтобы не дергать миллионы постоянных объектов.
4) Дефрагментация и уплотнение памяти.
5) Возможность более продуктивного JIT оптимизаций.
6) Наличие unsafe или https://metanit.com/sharp/tutorial/2.33.php или велью типы дают полный контроль над аллокациями и производительностью - по необходимости. Нет больше причин трахаться в неуправляемые языки (если ты не паяльник-программист)
Шарпы это постоянно развивающийся комбайн в который техи завозят по кд. Джава это кобол в который асинхронное программирование завозили 15 лет.