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

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

Отправлено opennews , 18-Сен-20 21:19 
Вышла новая версия компилятора для языка программирования Vala 0.50.0. Код на Vala транслируется в программу на языке C, которая, в свою очередь, компилируется в бинарный файл и выполняется со скоростью приложения, откомпилированного в объектный код целевой платформы. Vala является самым используемым языком в GNOME после C (C, Vala, Python, C++), а также основным языком в Elementary OS...

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


Содержание

Сообщения в этом обсуждении
"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Залупа , 18-Сен-20 21:19 
Для ElementaryOS чтоли?

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 19-Сен-20 10:57 
https://youtu.be/jwTCh7XH2t4?t=446

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 18-Сен-20 21:24 
Уж проще Swift юзать чем эту поделку с поддержкой в 1,5 человека. Ну а С код если и переписывать, то только исключительно совершенно невозможно на что другое, как на Rust

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 18-Сен-20 21:27 
Зачем переписывать си? Зачем переписывать на чуждый идеологически и практически язык?

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено коржик , 18-Сен-20 23:45 
вы в его предложении "Если" пропустили

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 19-Сен-20 05:13 
Можно не переписывать, а просто дописывать на этом UI

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено n00by , 19-Сен-20 06:31 
> Зачем переписывать си? Зачем переписывать на чуждый идеологически и практически язык?

Нет необходимости переписывать что-либо. Vala прекрасно сочетается с C и вписывается в идеологию, добавляя в уместных случаях новую фазу трансляции.


"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 18-Сен-20 21:26 
Но это не компилятор, а транслятор или транспайлер, потому что и Vala и C - это ЯПВУ

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним84701 , 18-Сен-20 21:35 
> Но это не компилятор, а транслятор или транспайлер, потому что и Vala  и C - это ЯПВУ

Уймитесь уже со своим транспайлером 🙄
https://inst.eecs.berkeley.edu/~cs164/fa20/lectures/lecture1...
> Variant of 2: Compiler that translates program into another programming language (such as C), or into an intermediate language

https://web.stanford.edu/class/archive/cs/cs143/cs143.1128/h... CS143 Course Overview.pdf
> What is a compiler?
> A compiler is a program that takes as input a program written in one language (the source
> language) and translates it into a functionally equivalent program in another language (the target language).  

Книга Драконов, с картинками:

> 1.1. Language Processors
> Simply stated, a compiler is a program that can read a program in one language -- the source language -- and translate it into an equivalent program in another language -- the target language; see Fig.1.1
> An important role of the compiler is to report any errors in the source program that it detects during the translation process.
>Figure 1.1: A compiler

source program
        |
        v
+-------------+
|   Compiler  |
+-------------+
       |
       v
target program

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

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Абырвал , 18-Сен-20 22:30 
Нет дружок, после транслятора требуется применять настоящий компилятор, так что иди дальше смотри свои картинки

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним84701 , 18-Сен-20 23:21 
> Нет дружок, после транслятора требуется применять настоящий компилятор,

Ну-ка, расскажи поподробнее, какой именно "настоящий компилятор" тебе потребуется после трансляции в (F/N/Y/M)ASM/WAM/машкод?
> так что иди дальше смотри свои картинки

Хм, и правда, чего это я. Кто такие Джефри Ульман (премия Кнута), Альфред Ахо (AWK, алгоритм Ахо-Корасика), стэнфордовцы с бекрлеевцами -- супротив целого анонимого опеннетовца? 🙄


"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 18-Сен-20 23:29 
> Нет дружок, после транслятора требуется применять настоящий компилятор, так что иди дальше смотри свои картинки

Мне кажется у тебя есть только выдуманные друзья, вряд ли кто-то будет с тобой даже за руку здороваться


"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 18-Сен-20 21:44 
Было бы в разы проще если бы мир сидел на Си, Фортране и Кобал. А не поделки ваяснов использовал

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Абырвал , 18-Сен-20 22:27 
Однозначно! Но все это поймут, только когда ты сам напишешь hello world без подсматривания в поисковике.
Ждёмс

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 18-Сен-20 23:14 
Кобал это что-то среднее между Кобол и Кабал?

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 19-Сен-20 00:53 
Компилялити.

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 22-Сен-20 14:02 
Это от Каббала :)

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 19-Сен-20 11:26 
И паскале с ада.

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Организация Объединённых Тюленей , 20-Сен-20 15:54 
Правильно говорить "из ада".

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено бедный буратино , 18-Сен-20 22:09 
Язык программирования Хала 0.5

- Обладает троичной нечёткой логикой
- Работа с очередью стека методом "Вас здесь не стояло!"
- Система приёма данных "Моня, ну ты посмотри на этого поца!"
- Очуметь!


"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Oxyd76 , 18-Сен-20 23:47 
Шоб я так жил, как вы прибедняетесь!

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 18-Сен-20 22:16 
Берем этот ЯП, потом ПО на нем и.. упс! А чо оно все такое странное?

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено n00by , 19-Сен-20 07:05 
Посмотрел. У меня после прочтения тьютора по языку получилось, что я могу тыкать в лентяйку и управлять видосиками и музычкой в браузерах с плагином PlasmaBrowserIntegration из окружений Sway и Gnome (можно было и оригинальный плагин на KF/Qt почикать, но как-то не эстетично, да и вариант на Vala грубо вдвое компактнее что в исходнике, что в исполняемом виде).

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


"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено 56u56f , 18-Сен-20 23:12 
На нём можно писать без gc и под микроконтроллеры?

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Bdfybec , 18-Сен-20 23:23 
только с 8:00 до 16:00 по рабочим дням.

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 18-Сен-20 23:26 
Все объекты наследуются от GObject. На микрокотроллеры придется тащить весь GLib.

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено это , 19-Сен-20 09:24 
Объекты без gobject шо, выпилили?

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено gavr , 19-Сен-20 17:33 
Из Си?

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено gavr , 19-Сен-20 17:44 
Абсолютно неверно! объектов 3 вида, и только один наследуется от GObject. Есть компакт классы алоцируемые вот этим https://www.opennet.ru/docs/RUS/glib_api/glib-Memory-Slices.... которые на порядок быстрее и легковеснее, но конечно интроспекция с ними не работает.
http://zee-nix.blogspot.com/2008/09/think-before-you-create-...

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 22-Сен-20 14:12 
-Wl,--no-whole-archive ?

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено gavr , 19-Сен-20 17:38 
GC в привычном понимании тут нет, все управление памятью в compile time.
Вот про ARC https://oxozle.com/2017/05/10/sravnenie-arc-i-garbage-collector/
Вот про эмбду на Vala:
https://www.embeddedrelated.com/showarticle/1019.php#:~:text...'s%20type%20system%20(which,Code%20Attributes%2C%20Closures%20and%20Contract

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним84701 , 19-Сен-20 18:08 
>  все управление памятью в compile time.

В мечтах, разве что.
> Вот про ARC https://oxozle.com/2017/05/10/sravnenie-arc-i-garbage-collector/
>> издержки на рантайм минимальны (но все же они есть, т. к. считает ссылки ARC в рантайме)

https://wiki.gnome.org/Projects/Vala/ReferenceHandling
> Each time a reference type object is assigned to a variable (referenced) its internal reference count is increased by one (ref), each time a reference variable goes out of scope the object's internal reference count is decreased by one (unref).

Автоматический подсчет ссылок  -- это таки "щелканье" счетчиком ссылок для объекта в рантайме.
Как в Perl или (С)Python (только там прикрутили еще и отключаемый gc.disable() сборщик циклических зависимостей).
В "compile time" только изменение счетчика вставляется (ну и компилятор, в принципе, может вставить аналог free при выходе объекта из зоны видимости, при условии, что ссылка на объект никуда не передавалась).
Потому что "настоящее" "compile time" управление памяти требует "немного" более сложную  семантику ЯП -- так нелюбимые здесь некоторыми комментаторами "закорючки" и "мозголомные" коцепты владения-времени-жизни раста там не от хорошей жизни придумали.

Впрочем, в Vala можно делать и ручками:
>You can always choose to do manual memory management if you feel as if you must have full control.

...
>Compact classes do not support reference counting by default.


"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено gavr , 17-Фев-21 23:09 
>ARC

Да, и это все же куда быстрее походов по всей структуре объектов разложенных по кучам быстро и долгоживущих + объекты умирают детерминировано(RAII для всех ресурсов вместо using) и нет плавующего мусора.

>>Compact classes do not support reference counting by default.

Да, они имеют семантику владения через unowned, owned модификаторы ссылок, еще к ним можно прикрутить счетчик или копирование. https://wiki.gnome.org/Projects/Vala/ManualBindings#Compact_...


"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 18-Сен-20 23:25 
Гвоздями прибито к GLib. Язык не имеет шансов на выживание.

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 19-Сен-20 01:16 
Для языка, от которого отказались в его родной среде GNOME, он показывает необыкновенную живучесть. Что касается GLib, то это фактически лучшее, что случилось с языком C на GNU/Linux, так что "пригвоздёванность" здесь не только не недостаток, но и преимущество.

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 19-Сен-20 05:03 
Убогая лицензия, минус кросплатформенность.

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 19-Сен-20 06:25 
Лицензия норм -- LGPL, для либ самое то. Насчет кроссплатформенности -- мне она не нужна. Единственная ось, в которую я вижу смысл вкладывать усилия -- это GNU/Linux. А вантузоиды и маководы сами прекрасно проживут в своем проприетарном гулаге. Если им нужно, пусть сами шлют патчи.

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено funny.falcon , 19-Сен-20 06:44 
А что значит «минус кросплатформенность»?
GTK софт есть на всех основных платформах (Linux, *BSD, Windows, MacOS).
Ок, на мобилках нет.

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено fsb4000 , 19-Сен-20 08:20 
>Ок, на мобилках нет

На Android и IOS нет, а на мобилках есть. Вот на librem-5 есть Glib и Gtk:
https://puri.sm/products/librem-5/pureos-mobile/


"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Усатый , 19-Сен-20 14:15 
Я в те времена спокойно завел GLib & GObject, а потом и Vala, на  Blackberry 10. Не думаю что для Android оно сложнее будет.

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено gavr , 19-Сен-20 17:39 
GLib полностью кроссплатформенна.

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 19-Сен-20 02:37 
> Гвоздями прибито к GLib

А что плохого в GLib?

> Язык не имеет шансов на выживание.

Ну, буквально. ООП-язык общего назначения, у которого синтаксис от C#. Писать на нем вполне приятно. 2 DE на нем пилят. Всё лучше чем С++.

Этому языку уже 14 лет, ваш ровесник, между прочим. Рановато хоронить.


"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Иваня , 19-Сен-20 10:07 
Мне не нравится синтаксис C# (слишком многословно!), а значит не нравится и Vala синтаксис.

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено n00by , 19-Сен-20 10:14 
Специально для Вас Vala понимает ещё вот такой синтаксис:

init
    print "Hello World"

https://wiki.gnome.org/Projects/Genie

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Иваня , 19-Сен-20 12:25 
Вот это уже получше. Но мне пока ненужно

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 20-Сен-20 23:11 
Мне кажется, или оно скорее мертво чем живо? Не нашёл на нём живых проектов.

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено n00by , 21-Сен-20 15:05 
Похоже, Вы правы, говоря о проектах. Но самому языку вряд ли что угрожает -- трансляция происходит через общее синтаксическое дерево с Vala.

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Алик , 13-Ноя-20 14:14 
Так понимаю на ней переписка ось el elementory, а ее исходники лежат на githabe

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 19-Сен-20 11:06 
жалко что гноморазрабы запилили это ненужно, вместо того чтобы использовать D, у которого отличные gtk биндинги

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено leap42 , 20-Сен-20 05:44 
а что хорошего в D? я правда не в курсе. он разве не похож на плюсы?

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 20-Сен-20 08:40 
Жалко D разрабы кучу лет носились с проприетарным компилятором и стандартную библиотеку не могли запилить.

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 19-Сен-20 17:18 
Ждём переписывания кода GTK на Vala.

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Анонимчик , 19-Сен-20 22:02 
а зачем?

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 22-Сен-20 13:56 
Для человековосприятия в виде нормального ОО-кода.

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено аноним3 , 20-Сен-20 02:51 
затем чтоб еще сильнее жрала оперативу и ресурсы. производителям нравится увеличение продаж.))

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено FixingGunsInAir , 20-Сен-20 12:15 
Этот ЯП выглядит как костыль. До кого-то дошло, что весь этот Boilerplate в коде на базе Glib никому не сдался, особенно новичкам (в программировании и/или в Linux). Но в то же время, кто-то ностальгирует по Mono...

Хотя, эта надстройка - это лучше, чем ничего.


"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Xasd6 , 22-Сен-20 15:31 
using для generic так и не смогли осилить?

"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Аноним , 27-Сен-20 23:42 
Раньше С транслировался в Ассемблер и можно было использовать Ассемблерные вставки кода, т.е. по вашей логике С тоже не язык, а транслятор какой-то...

Валя не использует Gtk bindings, она напрямую вызывает GLib/Gtk функции, VAPI нужны для компиляции только. Также в проект можно включать С код и соответственно Ассембоерные вставки для архитектурных расширений например SSE...

Из минусов нет нормального IDE, и нет общей стабильного фреймворка, но это уже к Глиб и Ко...

Есть много кросплатформенных проектов на Вала, даже некоторые портировали в игры в Андроид.

Для Андроидов можно использовать вместо наивного С апи...


"Выпуск компилятора для языка программирования Vala 0.50.0"
Отправлено Алик , 13-Ноя-20 14:09 
Пишу на Java, из за старого железа установил на логический диск elementory os, что бы с нее писать программы, заодно попробывать помщучать, перенести свои программы на Vala, gtk,  но в процессе установок ide у меня кровь из глаз пошла,я так и не смог написать  и строчки.  Вот думаю то ли с винды это делать но как, толи свой редактор писать? (((