The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск компилятора для языка программирования Vala 0.50.0"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск компилятора для языка программирования 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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Залупа (?), 18-Сен-20, 21:19   +2 +/
Для ElementaryOS чтоли?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #36

2. Сообщение от Аноним (2), 18-Сен-20, 21:24   –21 +/
Уж проще Swift юзать чем эту поделку с поддержкой в 1,5 человека. Ну а С код если и переписывать, то только исключительно совершенно невозможно на что другое, как на Rust
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #4

3. Сообщение от Аноним (3), 18-Сен-20, 21:26   –7 +/
Но это не компилятор, а транслятор или транспайлер, потому что и Vala и C - это ЯПВУ
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5

4. Сообщение от Аноним (4), 18-Сен-20, 21:27   +8 +/
Зачем переписывать си? Зачем переписывать на чуждый идеологически и практически язык?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #20, #27, #29

5. Сообщение от Аноним84701 (ok), 18-Сен-20, 21:35   +9 +/
> Но это не компилятор, а транслятор или транспайлер, потому что и 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

Т.е. компилятор, как частный случай/разновидность транслятора -- вполне используемый вариант общепринятой терминологии.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #11

6. Сообщение от Аноним (6), 18-Сен-20, 21:44   +2 +/
Было бы в разы проще если бы мир сидел на Си, Фортране и Кобал. А не поделки ваяснов использовал
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9, #13, #38

7. Сообщение от бедный буратино (ok), 18-Сен-20, 22:09   +7 +/
Язык программирования Хала 0.5

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #21

8. Сообщение от Аноним (8), 18-Сен-20, 22:16   –2 +/
Берем этот ЯП, потом ПО на нем и.. упс! А чо оно все такое странное?
Ответить | Правка | Наверх | Cообщить модератору

9. Сообщение от Абырвал (?), 18-Сен-20, 22:27   +/
Однозначно! Но все это поймут, только когда ты сам напишешь hello world без подсматривания в поисковике.
Ждёмс
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

11. Сообщение от Абырвал (?), 18-Сен-20, 22:30   –11 +/
Нет дружок, после транслятора требуется применять настоящий компилятор, так что иди дальше смотри свои картинки
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #14, #19

12. Сообщение от 56u56f (?), 18-Сен-20, 23:12   +/
На нём можно писать без gc и под микроконтроллеры?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #15, #18, #44

13. Сообщение от Аноним (13), 18-Сен-20, 23:14   +1 +/
Кобал это что-то среднее между Кобол и Кабал?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #22, #58

14. Сообщение от Аноним84701 (ok), 18-Сен-20, 23:21   +11 +/
> Нет дружок, после транслятора требуется применять настоящий компилятор,

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

15. Сообщение от Bdfybec (?), 18-Сен-20, 23:23   +1 +/
только с 8:00 до 16:00 по рабочим дням.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

17. Сообщение от Аноним (19), 18-Сен-20, 23:25   –3 +/
Гвоздями прибито к GLib. Язык не имеет шансов на выживание.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #23, #24

18. Сообщение от Аноним (19), 18-Сен-20, 23:26   +/
Все объекты наследуются от GObject. На микрокотроллеры придется тащить весь GLib.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #33, #46, #59

19. Сообщение от Аноним (19), 18-Сен-20, 23:29   –1 +/
> Нет дружок, после транслятора требуется применять настоящий компилятор, так что иди дальше смотри свои картинки

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

20. Сообщение от коржик (?), 18-Сен-20, 23:45   +4 +/
вы в его предложении "Если" пропустили
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

21. Сообщение от Oxyd76 (?), 18-Сен-20, 23:47   +9 +/
Шоб я так жил, как вы прибедняетесь!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

22. Сообщение от Аноним (22), 19-Сен-20, 00:53   +7 +/
Компилялити.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

23. Сообщение от Аноним (23), 19-Сен-20, 01:16   +5 +/
Для языка, от которого отказались в его родной среде GNOME, он показывает необыкновенную живучесть. Что касается GLib, то это фактически лучшее, что случилось с языком C на GNU/Linux, так что "пригвоздёванность" здесь не только не недостаток, но и преимущество.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #26

24. Сообщение от Аноним (24), 19-Сен-20, 02:37   +7 +/
> Гвоздями прибито к GLib

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

26. Сообщение от Аноним (19), 19-Сен-20, 05:03   –4 +/
Убогая лицензия, минус кросплатформенность.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #28, #30, #45

27. Сообщение от Аноним (27), 19-Сен-20, 05:13   +2 +/
Можно не переписывать, а просто дописывать на этом UI
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

28. Сообщение от Аноним (23), 19-Сен-20, 06:25   +/
Лицензия норм -- LGPL, для либ самое то. Насчет кроссплатформенности -- мне она не нужна. Единственная ось, в которую я вижу смысл вкладывать усилия -- это GNU/Linux. А вантузоиды и маководы сами прекрасно проживут в своем проприетарном гулаге. Если им нужно, пусть сами шлют патчи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

29. Сообщение от n00by (ok), 19-Сен-20, 06:31   +4 +/
> Зачем переписывать си? Зачем переписывать на чуждый идеологически и практически язык?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

30. Сообщение от funny.falcon (?), 19-Сен-20, 06:44   –1 +/
А что значит «минус кросплатформенность»?
GTK софт есть на всех основных платформах (Linux, *BSD, Windows, MacOS).
Ок, на мобилках нет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #32, #40

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #54

32. Сообщение от fsb4000 (?), 19-Сен-20, 08:20   +/
>Ок, на мобилках нет

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

33. Сообщение от это (?), 19-Сен-20, 09:24   +/
Объекты без gobject шо, выпилили?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #43

34. Сообщение от Иваня (?), 19-Сен-20, 10:07   –2 +/
Мне не нравится синтаксис C# (слишком многословно!), а значит не нравится и Vala синтаксис.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #35

35. Сообщение от n00by (ok), 19-Сен-20, 10:14   +/
Специально для Вас Vala понимает ещё вот такой синтаксис:

init
    print "Hello World"

https://wiki.gnome.org/Projects/Genie
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34 Ответы: #39, #55

36. Сообщение от Аноним (36), 19-Сен-20, 10:57   +4 +/
https://youtu.be/jwTCh7XH2t4?t=446
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

37. Сообщение от Аноним (37), 19-Сен-20, 11:06   –2 +/
жалко что гноморазрабы запилили это ненужно, вместо того чтобы использовать D, у которого отличные gtk биндинги
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #51, #52

38. Сообщение от Аноним (38), 19-Сен-20, 11:26   +1 +/
И паскале с ада.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #54

39. Сообщение от Иваня (?), 19-Сен-20, 12:25   –1 +/
Вот это уже получше. Но мне пока ненужно
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35

40. Сообщение от Усатый (?), 19-Сен-20, 14:15   +/
Я в те времена спокойно завел GLib & GObject, а потом и Vala, на  Blackberry 10. Не думаю что для Android оно сложнее будет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

41. Сообщение от Аноним (41), 19-Сен-20, 17:18   +/
Ждём переписывания кода GTK на Vala.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #49

43. Сообщение от gavr (ok), 19-Сен-20, 17:33   +3 +/
Из Си?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

44. Сообщение от gavr (ok), 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
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #47

45. Сообщение от gavr (ok), 19-Сен-20, 17:39   +/
GLib полностью кроссплатформенна.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

46. Сообщение от gavr (ok), 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-...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

47. Сообщение от Аноним84701 (ok), 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.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44 Ответы: #64

49. Сообщение от Анонимчик (?), 19-Сен-20, 22:02   +1 +/
а зачем?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #57

50. Сообщение от аноним3 (?), 20-Сен-20, 02:51   –1 +/
затем чтоб еще сильнее жрала оперативу и ресурсы. производителям нравится увеличение продаж.))
Ответить | Правка | Наверх | Cообщить модератору

51. Сообщение от leap42 (ok), 20-Сен-20, 05:44   +/
а что хорошего в D? я правда не в курсе. он разве не похож на плюсы?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37

52. Сообщение от Аноним (52), 20-Сен-20, 08:40   +1 +/
Жалко D разрабы кучу лет носились с проприетарным компилятором и стандартную библиотеку не могли запилить.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37

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

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

Ответить | Правка | Наверх | Cообщить модератору

54. Сообщение от Организация Объединённых Тюленей (?), 20-Сен-20, 15:54   +/
Правильно говорить "из ада".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #31

55. Сообщение от Аноним (55), 20-Сен-20, 23:11   +/
Мне кажется, или оно скорее мертво чем живо? Не нашёл на нём живых проектов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #56, #63

56. Сообщение от n00by (ok), 21-Сен-20, 15:05   +1 +/
Похоже, Вы правы, говоря о проектах. Но самому языку вряд ли что угрожает -- трансляция происходит через общее синтаксическое дерево с Vala.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

57. Сообщение от Аноним (58), 22-Сен-20, 13:56   +/
Для человековосприятия в виде нормального ОО-кода.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49

58. Сообщение от Аноним (58), 22-Сен-20, 14:02   +/
Это от Каббала :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

59. Сообщение от Аноним (58), 22-Сен-20, 14:12   +/
-Wl,--no-whole-archive ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

60. Сообщение от Xasd6 (?), 22-Сен-20, 15:31   +/
using для generic так и не смогли осилить?
Ответить | Правка | Наверх | Cообщить модератору

61. Сообщение от Аноним (61), 27-Сен-20, 23:42   +/
Раньше С транслировался в Ассемблер и можно было использовать Ассемблерные вставки кода, т.е. по вашей логике С тоже не язык, а транслятор какой-то...

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору

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

63. Сообщение от Аликemail (?), 13-Ноя-20, 14:14   +/
Так понимаю на ней переписка ось el elementory, а ее исходники лежат на githabe
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

64. Сообщение от gavr (ok), 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_...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру