Тред о Vala.Что это за язык?Компилируемый, со статической типизацией.Какие у него сильные стороны?Транслируется в C, потом компилируется вашим компилятором C с соответствующими оптимизациями. Кроссплатформенность: программы собираются для Linux, Windows, masOS без платформоспецифичных изменений. Поддержка любых биндингов для C через VAPI-файлы.Какие у него слабые стороны?Малая популярность, ненужность, зачастую зависимость от GObject.На какие языки он похож?C#, Java, C.Какая у него основная сфера применения?Графические приложения, рабочие окружения. На Vala написаны DE Pantheon (elementaryOS) и Budgie Desktop (Solus). Большинство приложений рабочего окружения GNOME также написано на Vala.
И нахуя нужна твоя вилка со вкусом шарпа-то?
>>857709Слабые стороны, пункт 2.
Оно всё ещё не работает без ебли на шиндовсе?
>>857774Ну, у меня нормально работает с обычным GCC под win7. Без ебли.
>>857778Ок. А сколько весит хелловорлд в виде окошка, которое ничего не делает?
>>857774>>на шиндовсе?Ржу всеми прыщами.Ваще надо попробовать? Оп, он может заменить какое-нить скриптоговно типа perl5 или скриптов оболочки?
>анальная зависимость от гобжекта >всё нормально с поддержкой шиндовсаЧто-то ты темнишь.>>857786Вангую размер базовых библиотек гтк + пару десятков кб сам бинарник.
>>857708 (OP)В Тиму требуется программист на Vala, опыт программирования на Vala 3 года, релокация в ЕС.
>>857803Толстишь или всё серьёзно?
>>857810пиши на мыло, рассмотрим твою кандидатуру.nomad@ag.ru
>>857708 (OP)Кекнул с пика
>>857786Если окошко на GTK+, то действительно, как писал анон выше, будет зависимость и от GObject, и от GTK (размер динамически слинкованного бинарника будет около 15Кб). Если же заморочиться и писать на WinAPI, может получиться очень компактно, правда кроссплатформенности никакой.>>857800Думаю, может, хотя не особо-то он для этого предназначен. Перл не нужен, конечно, но не имеет ли смысл заменять его на что-то скриптовое?
>>857843Вот так просто можно использовать WinAPI. Справа C-код, сгенерированный компилятором Vala.
>>858455Сделал ещё один скрин, а запостить забыл. То же самое, просто компиляция намного проще.
>>858455.vapi-то хотя бы можно автоматически сенерировать? А то что-то пока никаких преимуществ не вижу - ебстись с заголовочниками ради того, что я могу и на других языках делать.
>>859178Если ты пишешь под винду - оставайся на её инструментах. Вала хороша тесной интеграцией с GObject чтобы не городить кучу макросов.
>>859178.vapi прекрасно гененрируется из всего, что использует gobject.
>>859182А если не под винду, а сразу под три платформы: GNU/Linux, OS X и Windows? И на GTK. Например, решил я писать свой GIMP с нуля...
>>861356Очень сложно, но можно, правда для windows придется таскать с собой довольно толстый рантайм скорее всего.
>>861472Поясни, какой вообще цикл разработки получится? Допустим, поставил я свежую убунту, написал графическое приложение на Vala. Под убунтой GCC, собрал приложение и запаковал в coolapp-1.0-linux32.zip и coolapp-1.0-linux64.zip.Далее винда. Установил вайн, создал два префикса, в каждый поставил вижуалстудию, от которой мне нужны только commandline tools, собрал кучу библиотек (glib, gtk и всякие зависимости), и своё приложение. Запаковал в coolapp-1.0-win32.zip и coolapp-1.0-win64.zip (или можно как-то одним префиксом обойтись и собрать win32 и win64 в одном префиксе?)Теперь мак. Собрал darling, в него поставил xcode, от которой мне нужны только commandline tools, собрал кучу библиотек (glib, gtk и всякие зависимости), и своё приложение. Запаковал в coolapp-1.0-mac.zip.Вообще с маком никогда не работал, так что не очень представляю, как это всё заводить. И нужна ли 32-битная версия для мака? Или всё не так просто? Может, виртуалки придётся заводить? Кто вообще разрабатывает под три платформы, поделитесь, как оно вообще?
Что-то как-то негусто: https://github.com/search?utf8=%E2%9C%93&q=language%3AvalaДаже у IDL больше.
>>861835Vala дальше Gnome и Linux не ушла.>>861595Ну тут я хрен знает. Ибо собирал только под одну платформу и слабо это себе представляю, как даже qt приложения кроссплатформой обеспечивать.
>>862056> Vala дальше Gnome и Linux не ушла.Таки ушла. Есть по крайней мере elementaryOS и Budgie Desktop.
>>862175Которые основаны на гноме? Ну далеко ушла.
>>862178Ни то, ни другое не основано на гноме. Какая-то у тебя неправильная информация. Да, GTK, но выбор-то невелик: GTK или Qt. А тут уже действует теорема Эскобара.
Зачем это гавно нужно-то?Я ничего не понимаюНаписать на каком-то языке похожем на С, чтобы потом транслировать в С. Вы вообще нормальные?
>>862402Не всем нравится макросы для GObject наворачивать своими руками
>>862402Сишный синтаксис самый лучший. Его, конечно, многие называют инопланетянским, но намного лучше, чем эти ваши begin-end.А вообще, в Vala есть и полноценный ООП, и немного функционального программирования. Короче, нормальный мультипарадигмальный язык.
>>862402- Зачем это гавно нужно-то?- Я ничего не понимаюСказал он и развёл руками.- Написать на каком-то языке похожем на С, чтобы потом транслировать в С. Вы вообще нормальные? Не дожидаясь ответа он хлопнул дверью и вышел. Страуструп пожал плечами. Каждый день находился подобный индивидуум, и объяснять что-то им всем он давно уже устал."Ты у меня ещё попляшешь, щенок" - подумал Страуструп и продолжил работу.
>>862702>>Сишный синтаксис самый лучшийНу так и программируй на С>>Каждый день находился подобный индивидуум, и объяснять что-то им всем он давно уже устал.Создатель Вала страуструп? Ты в шапку напиши его преимущества и цели прежде чем тред создавать
>>862873Ты ебанутый?
>>861595>Далее винда. Установил вайн, создал два префиксаСтавишь mingw-w64-gcc mingw-w64-gtk и собираешь все на линуксе.
>>862878Но я не хочу использовать mingw. Ведь получаются гнутые бинарники от gcc, которые на винде не тру.Есть же компилятор от вижуалстудии, который может собрать и GTK, и все его зависимости.
>>862892> который можетМожно, но нахуя?
>>862914Много причин. Если компилять gcc, будет много зависимостей от gnu-говна, а майкрософтовским компилятором должно получаться мило и не так жирно.
>>862939Если тащить жирный GTK — то похуй на пару гнутых зависимостей.
>>862947Всё-таки я хочу собрать gcc под линукс, clang под мак и msvc под винду. Не знаю, будет ли разница во внешнем виде и производительности GTK, собранного msvc и gcc.
>>862973>я долбоёб хочу попердолтсяну твое дело
>>862974Типа с gcc пердолинга будет меньше? Сомневаюсь.
>>857810Хотел пошутить. Когда только-только анонсировали Свифт, был шанс уже увидеть такое объявление (3 года на только что появившемся языке, ага). Шутка не удалась, Валя старая оказывается.
>>862987Лолол
>>863138Да что сразу лол-то? Майкрософт выкатывает официальный компилятор для своей ОС. Почему бы его не использовать? Все приличные люди так делают.
>>863160https://wiki.gnome.org/Projects/GTK+/Win32/MSVCCompilationOfGTKStack#Compiling_the_GTK.2B-_.28and_Clutter.29_stack_using_Visual_C.2B-.2B-_2008_and_laterМс нормального тулкита не предоставляет, вот в чём проблема. С mingw тебе нужно просто накатить эту хуитку и скомпилировать. Тут тебе нужно тащить все зависимости руками, конфигурировать руками и собирать руками, как впрочем всё в мире шинды и происходит. Потому-то и лол к комментарию о "меньше пердолинга".
>>863172Говорят, сейчас в винде появился нормальный пакетный менеджер. Уже давно виндой не пользовался, но думаю, что через него можно поставить все зависимости и спокойно компилять?
>>863404Лол, нету. Есть чудовищно оверинжинирнутое чудище для дотнета — и всё. Дальше только порты гнутых хуиток.
>>863435Вот такая хуитка ещё есть. И даже работает.https://chocolatey.org/
>>863760Ты хоть посмотрел бы для начала что это такое.
>>863828>в винде появился нормальный пакетный менеджер>The package manager for WindowsЧто тебе не так? Единственное, что там нету этой вашей вали, но ты, в лучших традициях попенсорса, можешь пойти и сделать.
>>863860Нет, блядь, не могу. Я же сказал — сходи посмотри для начала что это вообще такое.Если ты до сих пор не понял о чём я — это просто установщик программулек, а не полноценный пакетный менеджер.
>>862877>>Ты ебанутый? Я же не транслирую в С
>>862973> gcc под линукс, clang под мак и msvc под виндупутаешь теплое с мягким
>>863889А что не так?
>>862939>будет много зависимостей от gnu-говнаОдна dll на десять килобайт, которую можно и статически слинковать. Все зависимости при этом качаются через MSYS. С MSVC же тебя ждут бездонные океаны пердолинга.
>>864043Не уверен, что лицензия позволяет такое статически линковать.
>>857708 (OP)>В стандартной библиотеке языка как всегда нихуя.Всё ясно.
>>862892>На винде не тру.Это тебе кто, вижуал-казуал петухи сказали?
>>862939-static-libgcc и -static-libstdc++ Не завозили к тебе чтоле?
>>864302Стандартная библиотека Vala — это GLib. И там дохуя всего.
>>864304А после этого не нужно разве свою программу под GPL лицензировать?
>>864317Схуяли нужно?
>>864289>Не уверен, что лицензия позволяет такое статически линковатьПозволяет, у них специальное исключение прописано>You have permission to propagate a work of Target Code formed by combining the Runtime Library with Independent Modules, even if such propagation would otherwise violate the terms of GPLv3, provided that all Target Code was generated by Eligible Compilation Processes. You may then convey such a combination under terms of your choice, consistent with the licensing of the Independent Modules.
>>864431О, спасибо, не знал.
>>857708 (OP)Ну и хуйня!"
>>864874У тебя кавычка непарная, ты мне должен новый парсер!
>>864317Нет.Эти либы по GPL выпускаются, а не по LGPLЗнай разницу.
>>864903ЛГБТ же вроде менее анальная версия жну?
>>864973LGPL — можно линковать, GPL нельзя.
>>863921clang так-то не компилятор, так чтобы тебе бинарь пилить с нихуя. У него другой подход.>>864302Привык жрать говно и не вдаёшься в суть? Любая C библиотека доступна для vala, надо лишь найти, описать или сгенерить vapi файл со всем содержимым заголовочных файлов.
>>865046А что же тогда такое clang?
>>865046>clang так-то не компиляторТы случайно с LLVM не путаешь?
Что вообще на этой вашей вале написано?
>>866288В Википедии написано:https://en.wikipedia.org/wiki/Category:Free_software_programmed_in_Vala
>>866665Ну да, калькулятор, сапёр, видеоплеер... Отличный набор!
>>861835git.gnome.org
вместо vala они могли сделать высокоуровневую с++ обертку для gobjectте также как в майкрософт для com сделали atlэто сразу дало бы возможность пользоваться всей инфраструктурой созданной для с++ кода (ide, отладчики, редакторы и подобное)то есть это сэкономило бы силы, что важно, так как ресурсы сообщества gnome ограничены по сравнению с майкрософт, которые могут нанять сотни дорогих кодеровсейчас используя возможности c++11 или с++14 можно получить еще более элегантную библиотеку-обертку
>>866784Есть gtkmm. Vala - это не редхата проект, а каких-то мимокрокодилов, словивших бугурт от Де Иказы.
>>866784Крестоблядь как всегда не могла промолчать. Понимаешь, если бы они так сделали, то им пришлось бы жрать крестоговно. В новом же языке они всё это говно могут изначально не завозить.
>>866784> всей инфраструктурой созданной для с++ кода Лол, http://harmful.cat-v.org/software/c++/rmsЕсть биндинг. Огромное преимущество С - можно ко всему прикрутить биндинг.А так в Гноме много системщиков, которые согласны со Столлманом, и если уж в нулевые на волне хайпа в Gdk и Gtk не стали использовать кресты, значит это говно никому не хочется поддерживать потом.
>>866288Не ходи по ссылкам на википедию, вот относительно актуальная инфа:https://wiki.gnome.org/Projects/Vala/Documentation#Applications_.2BAC8_Applets_.2BAC8_Other_Projects
>>866804под новый язык нужно создать инфраструктуруide, редакторы кода или хотя бы поддержку в существующихотладчикиутилиты стат и дин анализа, и прочее и прочееа сообщество gnome маленькое, по сути это банда партизан че-то там пилящих у них и так мало ресурсов в виде кодеров
>>866904vim/emacs + gdb + valgrind + cmake/autotoolsБольше не нужно ничего> утилиты стат и дин анализаНахуя?
>>866798я имел ввиду обертку сделаную на шаблонной магиикак и atl это было бы по сути пара .h файловесли делать на с++14 то будет красивону а чем юзать gtkmm то лучше сразу wxwidgets
>>866908>Нахуя?в качестве примераосновной посыл - что создать инфрастуктуру для языка сложнее и затратнее чем сам язык
>>866916Создали GNOME Builder, это полноценная IDE, которой должно быть всем достаточно.А если не нравится, можешь писать в виме, компилять мейком, отлаживать gdb. Вай нот?
>>866708Файловый менеджер
>>866927ну дык так и распыляются силы разрабоввместо того чтобы пилить софт конечному потребителю сделали еще одну ideу них же была уже anjutaи че теперь 2 ideзаебись
>>867088Anjuta всегда была говном. Тут лучше предать её забвению и с нуля написать, чем исправлять все её недостатки.
Накатил Гном билдер 3.22, сейчас посмотрю что там с поддержкой.Забавно, но по умолчанию они предлагают автотулс, хотя мне больше импонирует cmake, он таки проще будет.
Блин, автодополнение не подхватилось и cmake поддержки нету, только автотулс. В общем вим/емакс пока проффитнее будет
>>867479А что за дистр? У меня и автодополнение нормально работает, и cmake'ом всё собирается. Может, у тебя какие-то пакеты не стоят?
>>867138>>867360>>867479gnome builder сейчас нерабочий, в нем ничего нета проблема в том, что его писать должны гномовские кодеры, которых и так малоwiki.gnome.org/Apps/Builder/Planning
>>867643ubuntu 16.10 с gnome-staging ppaВидимо либо собрали не очень, либо каких-то пакетов не хватает.
>>867654Наверное, в репах убунты опять всё перепутали и ты получил за Лупу.
>>867764Попробовал сейчас в fedora gnome-builderТам пока версия 2.20. У тебя арч?Жаль нет лайв версии арча чтобы палкой потыкать из его репы билдер. Так бы с радостью тогда на него переполз.
>>868145> 3.20описался
>>868145Арч по мануалу ставится на раз-два. Если сомневаешься в своих способностях, можешь на QEMU потренироваться.
> Vala #1Какая-то странная у вас статистика. Дай-ка угадаю, на втором месте Erlang, а третье делят между собой R и Go, да?
>>868832Поехавший
Поясните, вот поставил я Gnome Builder 3.20, создал Vala-проект, а дальше что делать?
>>869653Программировать.
>>869653git.gnome.orgим там нужны сотни рабов, там тысячи незакрытых тасков, лол
>>869750Поясни, как программировать. В какие файлы что дописать, какие файлы создать, как это всё скомпилировать?
>>869836В туторе по вале все написано жеНафиг ты вообще в неё вкатываешься, если кодить не умеешь? Документации на русском тут нету.
>>869852Да не, я умею кодить, просто хочу с IDE разобраться. Тут система сборки какая-то непонятная (autotools?) и не понятно, как надо назвать файлы, чтобы они подхватились.Например, я создаю директорию src (или не надо её создавать?) и в ней создаю файл 2ch.vala, но автоматически это всё не подхватывается.
>>869878В lts убунте/24 федоре гном билдер староват, туда валу только-только добавили поэтому автотулс для него конечно работает, но автодополнения не завезли.
>>869934Ну, у меня LTS убунта, но PPA гномовский подключён, так что не должно быть настолько старо.
>>870186Хрен знает на самом деле. Собрать билдер правильно та еще задача, тем более его для C делали и денег на Vala не смогли набрать. Потому там поддержка постольку-поскольку.Я сам только пытался хелловорлдить, поэтому автокомплитом особо не заморачивался, мне документации с valadoc хватало.
Больше сотни постов в треде и ни одной строчки на этом вашем Вале. Лол.
>>871528Хочешь хелловорлд с аноном попилить либо?
>>871991Пилите симпатичный клиент для борд. Иначе если вы ничего серьезного показать не можете, нахуй вам этот тред?
>>872007> нахуй вам этот тред? Зарепорти и проходи мимо. Что хотим, такой язык и обсуждаем на зекаче, законом не запрещено.
>>871991Хеллоуворлд есть на ОП-пике. Давай что-то серьёзнее.
>>872195Вчера навазякал на коленке вечером. Что-то так попробовал, после ебаного js чертовски ламповоhttps://gitlab.com/jionsed/bakcel/tree/master/gtk3-clientХочется давно очень сильно запилить альтернативу keepassx на gtk.Хотя для клиент-серверной части планы куда более огромные.
>>872296Какой классный код! Ты молодец.
http://pastebin.com/Mi1mK59gЯ ебанулся наверно. В общем, хочу сохранять примитивы и потом сериализовать их в SQL запрос.Единственное что не правильно - нужно как-то значение копировать правильно и потом присваивать указателю.Хз как это на vala реализовать.
трамп
>>873659Что-то я не очень понял, что ты хочешь сделать. Если ещё не сделал, попробуй как-то подробнее расписать.
>>872296Всё, забросил свою репу?
>>875400Нет, пока веб-клиент попиливаю. Валой лень заниматься, пока идей хороших нет.
>>875430Жду коммита как соловiй привiта!
>>857708 (OP)Уже нинужно. Гном переезжает на Rust.
>>878367Суть валы — намазать удобный для гуя и приложулек ООП на сишку, раст в этой области от неё никуда не ушёл — всё будет по режнему разве что компиляцию вали в руст запилить можно — и даже rc не так нужен станет.
>>878582Да, это интересная идея. Но у раста сейчас не сильно хороша дружба с гобжектом.
>>857708 (OP)Полгода не заходил на /pr/, а здесь всё не меняется, те же срачи про языки, только периодически подбрасывают новое говно на вентилятор. Эх, вроде бы и бугуртить должен. да ностальгия выступает. Go, Rust, D, Julia, Scala, OCaml, Nim, Haskell, Elixir ... Этот список можно продолжать вечно. Пусть восторженные нюфаги учат, пусть тратят впустую своё время.
>>878715Все верно,поэтому лучше пользоваться схемкой + emacs