1.2, Аноним (2), 21:24, 18/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –21 +/– |
Уж проще Swift юзать чем эту поделку с поддержкой в 1,5 человека. Ну а С код если и переписывать, то только исключительно совершенно невозможно на что другое, как на Rust
| |
|
2.4, Аноним (4), 21:27, 18/09/2020 [^] [^^] [^^^] [ответить]
| +8 +/– |
Зачем переписывать си? Зачем переписывать на чуждый идеологически и практически язык?
| |
|
3.29, n00by (ok), 06:31, 19/09/2020 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Зачем переписывать си? Зачем переписывать на чуждый идеологически и практически язык?
Нет необходимости переписывать что-либо. Vala прекрасно сочетается с C и вписывается в идеологию, добавляя в уместных случаях новую фазу трансляции.
| |
|
|
1.3, Аноним (3), 21:26, 18/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –7 +/– |
Но это не компилятор, а транслятор или транспайлер, потому что и Vala и C - это ЯПВУ
| |
|
2.5, Аноним84701 (ok), 21:35, 18/09/2020 [^] [^^] [^^^] [ответить]
| +9 +/– |
> Но это не компилятор, а транслятор или транспайлер, потому что и Vala и C - это ЯПВУ
Уймитесь уже со своим транспайлером 🙄
https://inst.eecs.berkeley.edu/~cs164/fa20/lectures/lecture1.pdf
> 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/handouts/020 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
Т.е. компилятор, как частный случай/разновидность транслятора -- вполне используемый вариант общепринятой терминологии.
| |
|
3.11, Абырвал (?), 22:30, 18/09/2020 [^] [^^] [^^^] [ответить]
| –11 +/– |
Нет дружок, после транслятора требуется применять настоящий компилятор, так что иди дальше смотри свои картинки
| |
|
4.14, Аноним84701 (ok), 23:21, 18/09/2020 [^] [^^] [^^^] [ответить]
| +11 +/– |
> Нет дружок, после транслятора требуется применять настоящий компилятор,
Ну-ка, расскажи поподробнее, какой именно "настоящий компилятор" тебе потребуется после трансляции в (F/N/Y/M)ASM/WAM/машкод?
> так что иди дальше смотри свои картинки
Хм, и правда, чего это я. Кто такие Джефри Ульман (премия Кнута), Альфред Ахо (AWK, алгоритм Ахо-Корасика), стэнфордовцы с бекрлеевцами -- супротив целого анонимого опеннетовца? 🙄
| |
4.19, Аноним (19), 23:29, 18/09/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Нет дружок, после транслятора требуется применять настоящий компилятор, так что иди дальше смотри свои картинки
Мне кажется у тебя есть только выдуманные друзья, вряд ли кто-то будет с тобой даже за руку здороваться
| |
|
|
|
1.6, Аноним (6), 21:44, 18/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Было бы в разы проще если бы мир сидел на Си, Фортране и Кобал. А не поделки ваяснов использовал
| |
|
2.9, Абырвал (?), 22:27, 18/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Однозначно! Но все это поймут, только когда ты сам напишешь hello world без подсматривания в поисковике.
Ждёмс
| |
|
1.7, бедный буратино (ok), 22:09, 18/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
Язык программирования Хала 0.5
- Обладает троичной нечёткой логикой
- Работа с очередью стека методом "Вас здесь не стояло!"
- Система приёма данных "Моня, ну ты посмотри на этого поца!"
- Очуметь!
| |
1.8, Аноним (8), 22:16, 18/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Берем этот ЯП, потом ПО на нем и.. упс! А чо оно все такое странное?
| |
|
|
|
Часть нити удалена модератором |
4.31, n00by (ok), 07:05, 19/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Посмотрел. У меня после прочтения тьютора по языку получилось, что я могу тыкать в лентяйку и управлять видосиками и музычкой в браузерах с плагином PlasmaBrowserIntegration из окружений Sway и Gnome (можно было и оригинальный плагин на KF/Qt почикать, но как-то не эстетично, да и вариант на Vala грубо вдвое компактнее что в исходнике, что в исполняемом виде).
Но я бы с удовольствием посмотрел и на Ваш попахивающий опыт, вдруг упускаю что важное?
| |
|
|
|
|
2.18, Аноним (19), 23:26, 18/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Все объекты наследуются от GObject. На микрокотроллеры придется тащить весь GLib.
| |
|
3.47, Аноним84701 (ok), 18:08, 19/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
> все управление памятью в 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. | |
|
4.64, gavr (ok), 23:09, 17/02/2021 [^] [^^] [^^^] [ответить]
| +/– |
>ARC
Да, и это все же куда быстрее походов по всей структуре объектов разложенных по кучам быстро и долгоживущих + объекты умирают детерминировано(RAII для всех ресурсов вместо using) и нет плавующего мусора.
>>Compact classes do not support reference counting by default.
Да, они имеют семантику владения через unowned, owned модификаторы ссылок, еще к ним можно прикрутить счетчик или копирование. https://wiki.gnome.org/Projects/Vala/ManualBindings#Compact_Classes
| |
|
|
|
|
2.23, Аноним (23), 01:16, 19/09/2020 [^] [^^] [^^^] [ответить]
| +5 +/– |
Для языка, от которого отказались в его родной среде GNOME, он показывает необыкновенную живучесть. Что касается GLib, то это фактически лучшее, что случилось с языком C на GNU/Linux, так что "пригвоздёванность" здесь не только не недостаток, но и преимущество.
| |
|
|
4.28, Аноним (23), 06:25, 19/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Лицензия норм -- LGPL, для либ самое то. Насчет кроссплатформенности -- мне она не нужна. Единственная ось, в которую я вижу смысл вкладывать усилия -- это GNU/Linux. А вантузоиды и маководы сами прекрасно проживут в своем проприетарном гулаге. Если им нужно, пусть сами шлют патчи.
| |
4.30, funny.falcon (?), 06:44, 19/09/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
А что значит «минус кросплатформенность»?
GTK софт есть на всех основных платформах (Linux, *BSD, Windows, MacOS).
Ок, на мобилках нет.
| |
|
5.40, Усатый (?), 14:15, 19/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Я в те времена спокойно завел GLib & GObject, а потом и Vala, на Blackberry 10. Не думаю что для Android оно сложнее будет.
| |
|
|
|
2.24, Аноним (24), 02:37, 19/09/2020 [^] [^^] [^^^] [ответить]
| +7 +/– |
> Гвоздями прибито к GLib
А что плохого в GLib?
> Язык не имеет шансов на выживание.
Ну, буквально. ООП-язык общего назначения, у которого синтаксис от C#. Писать на нем вполне приятно. 2 DE на нем пилят. Всё лучше чем С++.
Этому языку уже 14 лет, ваш ровесник, между прочим. Рановато хоронить.
| |
|
1.34, Иваня (?), 10:07, 19/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Мне не нравится синтаксис C# (слишком многословно!), а значит не нравится и Vala синтаксис.
| |
|
|
3.55, Аноним (55), 23:11, 20/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Мне кажется, или оно скорее мертво чем живо? Не нашёл на нём живых проектов.
| |
|
4.56, n00by (ok), 15:05, 21/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Похоже, Вы правы, говоря о проектах. Но самому языку вряд ли что угрожает -- трансляция происходит через общее синтаксическое дерево с Vala.
| |
4.63, Алик (?), 14:14, 13/11/2020 [^] [^^] [^^^] [ответить]
| +/– |
Так понимаю на ней переписка ось el elementory, а ее исходники лежат на githabe
| |
|
|
|
1.37, Аноним (37), 11:06, 19/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
жалко что гноморазрабы запилили это ненужно, вместо того чтобы использовать D, у которого отличные gtk биндинги
| |
|
2.51, leap42 (ok), 05:44, 20/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
а что хорошего в D? я правда не в курсе. он разве не похож на плюсы?
| |
2.52, Аноним (52), 08:40, 20/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Жалко D разрабы кучу лет носились с проприетарным компилятором и стандартную библиотеку не могли запилить.
| |
|
1.50, аноним3 (?), 02:51, 20/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
затем чтоб еще сильнее жрала оперативу и ресурсы. производителям нравится увеличение продаж.))
| |
1.53, FixingGunsInAir (ok), 12:15, 20/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Этот ЯП выглядит как костыль. До кого-то дошло, что весь этот Boilerplate в коде на базе Glib никому не сдался, особенно новичкам (в программировании и/или в Linux). Но в то же время, кто-то ностальгирует по Mono...
Хотя, эта надстройка - это лучше, чем ничего.
| |
1.61, Аноним (61), 23:42, 27/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Раньше С транслировался в Ассемблер и можно было использовать Ассемблерные вставки кода, т.е. по вашей логике С тоже не язык, а транслятор какой-то...
Валя не использует Gtk bindings, она напрямую вызывает GLib/Gtk функции, VAPI нужны для компиляции только. Также в проект можно включать С код и соответственно Ассембоерные вставки для архитектурных расширений например SSE...
Из минусов нет нормального IDE, и нет общей стабильного фреймворка, но это уже к Глиб и Ко...
Есть много кросплатформенных проектов на Вала, даже некоторые портировали в игры в Андроид.
Для Андроидов можно использовать вместо наивного С апи...
| |
1.62, Алик (?), 14:09, 13/11/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Пишу на Java, из за старого железа установил на логический диск elementory os, что бы с нее писать программы, заодно попробывать помщучать, перенести свои программы на Vala, gtk, но в процессе установок ide у меня кровь из глаз пошла,я так и не смог написать и строчки. Вот думаю то ли с винды это делать но как, толи свой редактор писать? (((
| |
|