URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 123407
[ Назад ]

Исходное сообщение
"Обновление компилятора языка программирования Vala 0.50.4"

Отправлено opennews , 28-Фев-21 23:41 
Вышла новая версия компилятора для языка программирования Vala 0.50.4...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=54675


Содержание

Сообщения в этом обсуждении
"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 28-Фев-21 23:41 
может, проще сразу цпп?

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 28-Фев-21 23:44 
Цпп и проще в одном предложении?

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 28-Фев-21 23:51 
Всё было просто, пока не пришли шаблоны.

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 01-Мрт-21 00:03 
Так метапрограммирование это один из трендов. Рано или поздно, что-то подобное появится и в Vala.
Не пользуйтесь шаблонами, никто же не заставляет.

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено пердёжник , 01-Мрт-21 07:13 
> Не пользуйтесь шаблонами, никто же не заставляет.

Только ежедневно читайте и чините код ваших коллег, переполненный ими.


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено _hide_ , 01-Мрт-21 09:48 
Ребят, Вы точно про метопрограммирование? Просто Макросы -- это та ещё жесть, а декларировать какие-либо свойства/поведение группы классов в одном (приличном!) месте, бывает очень удобно и сильно облегчает чтение.

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено llolik , 01-Мрт-21 10:36 
При всей жести макропортянок Си, сами по себе правила языка для макросов очень просты для понимания (если не сказать тривиальны). Далее уже понимание того, что наворотили, собственно, предшественники. Хотя, это, конечно, не совсем метапрограммирование.

Во что развернётся шаблон в cpp сходу понять могут "не только лишь все" (c), т.к. правила языка в этой части, мягко говоря, не тривиальны (т.к. суть шаблонов cpp, как я её понимаю, это, в общем-то, те же макроподстановки, только не на уровне лексера, а на уровне AST).


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено n00by , 01-Мрт-21 10:51 
> При всей жести макропортянок Си, сами по себе правила языка для макросов
> очень просты для понимания (если не сказать тривиальны).

Вы оптимист. Помнится, MSVC 7й что ли версии (точно не 6й) отказался понимать примеры из Стандарта. Ну а про шаблоны, это отдельная больная тема, замнём её для ясности, тем более что разработка Comeau прекращена.


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено llolik , 01-Мрт-21 11:22 
>  MSVC

Ну, у этих всю жизнь своя атмосфера и своеобразное трактование стандартов. И вообще компилятор капризный (самый, из мне знакомых, как минимум). Помню, была задача проекту, собирающемуся gcc/clang, обеспечить нативную сборку на Виндах с использованием msvc (не надо спрашивать зачем, решение не я принимал) - тот ещё случился АдокЪ.


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 03-Мрт-21 21:15 
Макросы могут делать мозг. Зато
1) Не генерят код. Все считается compile time. Конечно можно это наесть при сильном желании, но по умолчанию оно вот так.
2) Все достаточно просто и прозрачно. А вот на шаблонах могут завернуть такого что мало не покажется. Не то чтоб на макро так нельзя - но неудобно. А шаблоны могут так влупить что потом этот код вообще майнтайнить никто не может или не хочет.

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено n00by , 01-Мрт-21 07:55 
> Так метапрограммирование это один из трендов.

Андре́й Александре́ску ... известный благодаря ... метапрограммирования шаблонов.

С 2009 года работал в ... в 2015 году ушёл из компании, чтобы сосредоточиться на разработке языка D.


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Совершенно другой аноним , 01-Мрт-21 10:25 
> Рано или поздно, что-то подобное появится и в Vala.

Оно там уже есть - есть коллекции в библиотеке gee построенные на основании шаблонов.


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено n00by , 01-Мрт-21 10:40 
В Vala generics, а не templates. Оба случая переводят как "шаблоны", но есть различия, в том числе и в возможностях. Темплейты -- отдельный Тьюринг-полный язык в языке, исполняемый на этапе трансляции. Возможностей больше, но и повышается порог вхождения.

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 01-Мрт-21 02:03 
На макросах хуже, чем на шаблонах

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено n00by , 01-Мрт-21 07:52 
> кто читал стандарт цпп?

Хороший вопрос.


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 01-Мрт-21 09:12 
Или джаву или сишарп.

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 05-Мрт-21 12:33 
> Уже видел такое. По телевизору.

100% , лучше старый добрый stl чем новый glib апи каждый день


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Dzen Python , 01-Мрт-21 00:09 
Минусуйте сколько влезет, но без нормальной работы с чем бы то ни было кроме гетека (Qt, wxWidgets) - не нужен.

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 01-Мрт-21 00:38 
Vala не стремится распространиться во все сферы и на весь мир. Это язык чисто для своих, для работы с GLib-овским ООП и линуксовыми сервисами/библиотеками. Скажем, у эпла есть свой собственный ЯП, обслуживающий интересы эпла. Vala - то же самое, обслуживает интересы GNU/Linux и предоставляет чрезвычайно удобный синтаксис по работе с сишным ООП, D-Bus-сервисами, GTK+ и так далее. И как приятное дополнение, биндинги к наиболее популярным языкам: все, что напишешь на вале, может пригодиться и тем, кто кроме питона или JS ничего не знает. Это в отличие от крестов, которые продолжают оставаться вещью в себе.

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 01-Мрт-21 01:03 
> все, что напишешь на вале, может пригодиться и тем, кто кроме питона или JS ничего не знает

Каким образом, не сильно понимаю?


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 01-Мрт-21 03:36 
>Vala - то же самое, обслуживает интересы GNU/Linux

Оно обслуживает интересы гномосеков, а не линукса, кукаретик.


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 01-Мрт-21 04:25 
GNOME - ведущая, основная и дефолтная DE в GNU/Linux. При этом в самом GNOME на вале писать особо не стараются, -- вместо этого валя возымела необыкновенную популярность в elementary OS. Так что я рекомендую тебе все же хотя бы поверхностно ознакомиться с темой, прежде чем садиться в лужу, как сейчас.

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 01-Мрт-21 10:49 
Ведущая... дефолтная... Смешная шутка... но сегодня 1 марта, а не 1 апреля

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 01-Мрт-21 11:01 
Берешь топ-10 наиболее популярных дистров. Какая там стоит дефолтная ДЕ?

По каждому ДЕ берешь количество разработчиков, которые ею заняты. Какая ДЕ будет в существенном перевесе? Ну и а если считать разработчиков на зарплате?


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 01-Мрт-21 11:12 
Популярных от слова попа.

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено SinoptikU , 01-Мрт-21 14:58 
Не путайте количество с качеством! Но предположим!.. И что с того? Почему тогда у вашей ведушей, дефолтной DE столько форков? Почему за 10 лет, по вашему, ведущие разработчики не способны решить элементарные проблемы с теми же гигантскими размерами виджетов (с заголовками) на экранах с небольшим разрешением и т.д.? И почему за годы "упрощений" 3-ей версии их поделка по виду и юзабилити стала для аутистов? То, что вы написали высше, вообще не показатель! Не стояла бы Red Hat, все было бы иначе. Нормальный, вменяемый линуксоид скорее должен стыдиться GNOME 3, чем восхищаться!

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 01-Мрт-21 16:06 
> Не путайте количество с качеством!

Комментаторы выше попытались подвергнуть сомнению характеристики "ведущая, основная, дефолтная". А не "качественная". Перечитывай сообщения внимательнее. И да, GNOME действительно качественная.

> Почему тогда у вашей ведушей, дефолтной DE столько форков?

Потому что это популярная DE. Непопулярные проекты обычно не форкают.

> ведущие разработчики не способны решить элементарные проблемы с теми же гигантскими размерами виджетов

Ты назвал факты, а не проблемы. Лично меня эти факты устраивают и проблем не доставляют. Если не нравится размер виджетов, ставь другую тему, благо их полно и создавать их легче, чем для полупроприетарных тулкитов типа Qt.

> поделка по виду и юзабилити стала для аутистов

Это все лишь общие слова, а конкретики за тобой нет. Отвечать не на что.

> Нормальный, вменяемый линуксоид скорее должен стыдиться GNOME 3, чем восхищаться!

Нормальный, вменяемый линуксоид будет приветствовать стандартизацию и унификацию рабочего пространства. GNOME полностью соответствует фразе "desktop environment" в том плане, что компоненты системы действительно работают в связке и используют одни и те же реюзабельные механизмы.

Скажем, чтобы сконфигурировать через Ansible шрифты в qt5ct, придется проворачивать какие-то трюки, поскольку в текстовом conf-файле названия шрифтов кодируются через какое-то текстовое представление бинарных структур: https://www.google.com/search?q=%22qt5ct%22+%...

В то же время через тот же Ansible абсолютно любая GNOME-овская программа легко и просто конфигурируется через dconf единым стилем.

GNOME -- это вершина DE. И не только в одном лишь линуксе. Красота GNOME не только во внешнем виде, но и в его внутренних механизмах.


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 31-Авг-21 19:45 
> GNOME — это вершина DE

Чем больше изучаю GNOME, тем больше понимаю, что ты чертовски прав. О внешнем виде даже не упоминаю.


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено IRASoldier_registered , 02-Мрт-21 02:01 
>их поделка по виду и юзабилити стала для аутистов

"Аутизм (...) - расстройство, возникающее вследствие нарушения развития головного мозга и характеризующееся выраженным и всесторонним дефицитом социального взаимодействия и общения, а также ограниченными интересами и повторяющимися действиями"

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

Объясните, как ваш экспириенс в постижении юзабилити Gnome 3 соотносится с определением аутизма. Или перестаньте нести пургу.



"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено SinoptikU , 02-Мрт-21 09:11 
Вон....

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено IRASoldier_registered , 02-Мрт-21 11:53 
В смысле - "вон там, гляди!" или в смысле "пшел вон"? Если во втором - ха-ха, неохота, а если в первом - что именно и где именно?


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено SinoptikU , 02-Мрт-21 15:16 
> В смысле - "вон там, гляди!" или в смысле "пшел вон"? Если
> во втором - ха-ха, неохота, а если в первом - что
> именно и где именно?

Пошел вон...


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено IRASoldier_registered , 02-Мрт-21 18:12 
Ну, помечтать об этом ты можешь. А можешь смирить гордыню и рассказать всё же о связи Gnome 3 и аутизма. В соответствии с общепринятыми значениями медицинских терминов.



"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено IRASoldier_registered , 02-Мрт-21 11:57 
> Нормальный, вменяемый линуксоид

Линукс - это не идеология. Это операционная система. Любой линуксоид, т.е. пользователь Линукс, вменяем и нормален, пока использует тот софт, что нравится ему и не навязывает остальным свое видение юзабилити остальным. Намёк ясен?


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено gavr , 01-Мрт-21 00:42 
А почему еще не обязаны быть биндинги к WPF, MAUI, Swing, JavaFX?

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено topin89 , 01-Мрт-21 02:19 
Хорошее сравнение. Vala для GTK это ровно то же, что и C# для WPF или Swing для Java. Минус гигантские деньги на раскрутку самого языка. Отсюда и язык идёт в один ряд с Nim, Zig или D: в меру интересные проекты, которые могут выйти из периферии если внезапно их подхватит какая-то достаточно крупная контора, как было с питоном в своё время.

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 01-Мрт-21 08:06 
Так его и придумали для того, чтобы нормально работать с мзначан сишным gtk: на голых сях писать объектно-ориентированную гую удовольствие сомнительное. На изначально плюсовом Qt и на плюсах норм.

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено n00by , 01-Мрт-21 08:12 
> Минусуйте сколько влезет, но без нормальной работы с чем бы то ни
> было кроме гетека (Qt, wxWidgets) - не нужен.

Что бы иметь хоть чем-то обоснованное мнение о языке, переписал с Qt (жду мнения знатоков, насколько оно well-formed C++) на Vala MPSIR брокер из https://community.kde.org/Plasma/Browser_Integration
получилось вдвое меньше как в исходнике, так и в исполняемом файле.

Простой и доступный язык для своих задач, не требующий двухнедельного чтения книжки про SFINAE.


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено gavr , 01-Мрт-21 13:16 
Есть ссыль на репу?

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено n00by , 01-Мрт-21 16:57 
В профиле есть. Вот прямая https://github.com/STrusov/plasma-browser-integration-glib

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено SinoptikU , 01-Мрт-21 15:05 
Перепиши на Python, еще вдвое уменьшится кода!

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено n00by , 01-Мрт-21 17:10 
Во-первых, в Vala унаследованный от Си привычный синтаксис и семантика, значит похоже на исходный Qt, а Python надо изучать отдельно.
Во-вторых, написанный на Python плагин chrome-gnome-shell занимает 15Мб, а мой -- 444Кб.
В общем, так себе экономия. Про прелести динамической типизации можно даже и не начинать.

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 01-Мрт-21 13:34 
Как там LTS у Qt поживает? А что с лицензией? GTK позволяет использовать в любых проектах, а Qt заставляет чуть что платить, если проект не GPL.

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено SinoptikU , 01-Мрт-21 15:13 
> GTK позволяет использовать в любых проектах

На не родной платформе просто ужасно выглядит, потому многие поделки переписывают на Qt.
> а Qt заставляет чуть что платить, если проект не GPL

Не LGPL. Ограничения в последней LTS с бинарными сборками. Возможно, в будущем появятся неофициальные LTS от сообщества (Qt 5.15.3, ...).


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено gavr , 01-Мрт-21 00:38 
Всем интересующимся, хороший гайд на русском тут https://wiki.gnome.org/Projects/Vala/Tutorial/ru  
Общие ссылки, в том числе где найти сообщества тут https://wiki.gnome.org/Projects/Vala/Documentation#Places_to...

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 01-Мрт-21 11:03 
Благодарю, бро. Весьма в тему. Чем больше глядишь в программирование GUI (среди не жручих и более или менее приличных только GNOME), тем больше понимаешь, что нужно погружаться в Vala.

Переводи дальше. 4.8 Mixins и выше.


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено gavr , 01-Мрт-21 20:01 
Спасибо, совсем полный перевод я захостил на gitbook'е (https://vala.gitbook.io/vala/untitled/language-elements/tipy...), но мне чето самому не понравилось что получилось.

Также по второй ссылке из предыдущего комментария (https://wiki.gnome.org/Projects/Vala/Documentation#Places_to...) можно найти мою тг конфу или общий дискорд.


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено n00by , 03-Мрт-21 09:08 
> Спасибо, совсем полный перевод я захостил на gitbook'е (https://vala.gitbook.io/vala/untitled/language-elements/tipy...),

Спасибо. С этого перевода и начинал. Написано доступно, желания переключиться на оригинал не возникало.

> но мне чето самому не понравилось что получилось.

Это хорошо, на самом деле. Как пишут классики, что бы получить совершенный художественный текст, его следует полностью переписать 21 раз.)


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 01-Мрт-21 10:00 
А он уже пережил этап трансляции в C? Насколько удобно выполнять отладку кода в нем если он до сих пор транслирует в C?

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Совершенно другой аноним , 01-Мрт-21 10:30 
Нет, в этом плане пока всё остаётся без изменений, и насколько я понял - менять это не собираются (по крайней мере в качестве заявленных целей этого нет, даже наоборот, постулируется, что такой способ значительно облегчает как совместимость с C, так и с другими языками).

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 01-Мрт-21 11:05 
Во-первых, транслируя в си, можно детально изучить, как работает валя.
Во-вторых, приведу одну цитату: «только что вышло мажорное обновление GCC 9. В нем улучшили оптимизацию switch, и эта оптимизация автоматически попала в Vala, т.к. она компилируется в си».

Так что я бы не сказал, что есть повод что-то там «переживать».

> он уже пережил этап трансляции в C?


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено acroobar , 01-Мрт-21 13:42 
В мини-новость!

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Skullnet , 01-Мрт-21 16:06 
Идея хорошая, но жаль что все это дело прибито гвоздями к мерзкому GTK.

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 01-Мрт-21 19:59 
Не прибито.

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Skullnet , 02-Мрт-21 00:53 
Правда? Даже у них в документации написано, что прибито к GTK и GNOME.

Vala - это новый язык программирования, предназначенный для прикладного и системного программирования на основе библиотек GLib Object System (GObject) рабочей среды GNOME/GTK+


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 02-Мрт-21 05:17 
Если у вас нигде нет using Gtk, или другой либы, в которой есть using Gtk, то программа с ним линковаться не будет. Прибито оно только к GLib:

$ cat hello.vala
public static int main () {
        print ("Hello, World!\n");
        return 0;
}
$ valac hello.vala && ./hello
Hello, World!
$ ldd hello
        linux-vdso.so.1 (0x00007ffeb1bc4000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007f094a662000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f094a52d000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007f094a360000)
        libffi.so.7 => /usr/lib/libffi.so.7 (0x00007f094a354000)
        libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007f094a2e2000)
        libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f094a2c1000)
        /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f094a6f4000)


"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 01-Мрт-21 21:50 
Оно аккуратно прикреплено нержавеющими болтами к Си. Это хорошо.

"Обновление компилятора языка программирования Vala 0.50.4"
Отправлено Аноним , 05-Мрт-21 12:32 
Все бы хорошо, но glib .. нет спасибо