LINUX.ORG.RU

Metaprog: универсальная графическая среда программирования [LabVIEW-прототип] часть 9

 , , ,


0

3

Интерактивная обучалка

https://streamable.com/dnhoy

Интерактивная инструкция по сборке факториала

https://streamable.com/h8dto

Меню из функций

Наконец допилил меню из функций. Программирование на Метапроге будет выглядеть примерно так:

https://streamable.com/xlprt

Кроме меню, давние читатели заметят сделанное по многочисленным просьбам увеличение размера шрифта на элементах блок-диагарммы и подсказках с 10 до 12.

Сама функция, считающая факториал, выглядит так:

https://i.postimg.cc/ZRzpHhnv/image.png

Полученный код корректно считает факториал 11 (10+1, как на схеме):

https://pastebin.com/pdbhKcey

Переключатель (он же switch)

https://streamable.com/vgn3w

https://pastebin.com/tuB9X00u

Чат-клиент

Перенос кода Метапрога «сам на себя» слишком затянулся. Зато есть практически готовый прототип на LabVIEW, с помощью которого скоро можно будет совместными усилиями вести разработку и переносить Метапрог «сам на себя». Над ним еще надо чуточку поработать, а пока что есть чат-клиент, как задел под сетевой функционал.

Версия 1.

http://e2tilsgo5s44hqmlwb4epwrjnh7ynvsckj2tl5duwdqbxg67chqpelad.onion/file/de...

Требования

1. Windows начиная с ХР с кириллической локализацией (иначе будут проблемы с кодировкой символов).

2. Для запуска скомпилированного ехе-файла бесплатный рантайм (32-битный):

https://download.ni.com/support/softlib/labview/labview_runtime/2013 SP1/Wind...

3. Для просмотра и редактирования диаграмм с кодом чат-клиента - LabVIEW начиная с 2013. Как кто его достанет - личное дело каждого, если жалко денег - на торрентах оно есть.

4. Tor Browser или Tor для подключения к серверу:

https://www.torproject.org/

Сам чат-клиент лицензирован под GNU GPL v3, подробности - по кнопке «Про программу».

FAQ

0. Где отсутствующие примеры и пункты FAQ? Как вообще читать эти темы?

Чего нет в этой части - есть в прошлых. Для того, чтобы понять идею Метарпога, не обязательно читать тысячи комментариев из всех тем. Необходимый минимум собран в заголовках тем. Читайте заголовки и ссылки в них. Кстати, обновляется только заголовок последней темы, если эта тема уже не последняя - она не обновляется. В более новых темах пункты FAQ могут обновляться и в случае расхождения действительна более новая версия.

11. Как выглядит факториал в графическом представлении?

https://i.postimg.cc/ZRzpHhnv/image.png (уже на Метапроге, а не Лабвью).

Прошлые темы:

Metaprog: универсальная графическая среда программирования [в разработке]

Metaprog: универсальная графическая среда программирования [в разработке] часть 2

Metaprog: универсальная графическая среда программирования [в разработке] часть 3

Metaprog: универсальная графическая среда программирования [в разработке] часть 4

Metaprog: универсальная графическая среда программирования [в разработке] часть 5

Metaprog: универсальная графическая среда программирования [в разработке] часть 6

Metaprog: универсальная графическая среда программирования [в разработке] часть 7

Metaprog: универсальная графическая среда программирования [в разработке] часть 8

Недоброжелателей вежливо попрошу пройти мимо. Кому не нравится раздувание темы - сами не раздувайте ее.

metaprog ()

Можно задать вопрос? Какого черта вот это:

Windows

и это

LabVIEW

здесь делает?

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от metaprog

В конечном итоге оно будет работать под линуксом и без [censored] лабвью?

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

Временное решение. К тому же

Сам код чат-клиента лицензирован под GNU GPL v3.

metaprog ()
Ответ на: комментарий от Eddy_Em

Это и есть конечная цель. Но над этим таки придется поработать в винде и лабвью.

Даже сам RMS начинал разработку проекта GNU на пропиетарном юниксе. Мог бы и с нуля на перфокартах написать все, но воспользоваться пропиетарным софтом даже ему оказалось удобнее.

metaprog ()

Кстати, в прошлых темах, когда я еще думал самостоятельно по-быстрому отвязаться от Лабвью, были желающие узреть лабвьюшный код. balsoft и кто там еще?

metaprog ()

Для запуска скомпилированного ехе-файла бесплатный рантайм (32-битный) чат-клиент лицензирован под GNU GPL v3

Это точно совместимо с GPL? Призываю диванных юристов. Мнение metaprog’a не интересует.

anonymous ()
Ответ на: комментарий от anonymous

Код лицензирован под GPL. Сам код. И он при этом опубликован. Так что совместимо.

metaprog ()
Ответ на: комментарий от metaprog

Говорю же, твое мнение не интересует. Ты не понял вопрос. Ты связываешь GPL код с несвободной библиотекой, лицензия которой несовместима с GPL. И под критерии «системной библиотеки» это как-то не очень попадает.

anonymous ()
Ответ на: комментарий от anonymous

GPL-код в данном случае не используется в коде несвободных библиотек. Тот факт, что среда разработки пропиетарная, GPL не нарушает.

metaprog ()

Какое временное решение, если в настоящее время этот проект вообще никаким боком к линуксу отношение не имеет: работает только под виндой на виндовом лабвью.

Генерация кода не работает. Все что было сделано — несколько диаграмм с кодом на лабвью, уровня хелло ворлда (судя по всему, парсенье нескольких файлов при помощи регулярок и, возможно, запись/чтение из сокетов). И те посмотреть нельзя, потому что ни у кого нет лабвью.

Нет ни спецификации языка, ни даже концепции. Вообще ничего. Зато флуд стоит уже месяцев пять. И куча мечтаний, как корабли будут бороздить просторы Большого театра.

По мне, так эту клонаду нужно гнять ссаными тряпками на винфак или какой-нибудь лабвью.орг.ру или что там у них есть.

На крайний случай в толксы. Никакого оттношения эта ерунда не имеет к техническим вопросам.

Никакого отношения к техническим в

anonymous ()
Ответ на: комментарий от metaprog

среда разработки пропиетарная

Я не про среду разработки, а про библиотеки, с которым ты линкуешься. Повторяю, ты не понимаешь вопрос.

anonymous ()
Ответ на: комментарий от anonymous

Все работает и сишный код генерируется. Сишный код из линуксовых инклюдов и для линуксового компилятора, винда как временный костыль сидит на витуалке.

metaprog ()
Ответ на: комментарий от anonymous

GPL не запрещает использовать вызовы несвободных библиотек. Запрещает только использовать GPL-код в несвободном коде.

metaprog ()
Ответ на: комментарий от metaprog

Сишный код из линуксовых инклюдов и для линуксового компилятора

А это тогда что такое:

Для запуска скомпилированного ехе-файла бесплатный рантайм (32-битный):

anonymous ()

От Владимир в этом треде сообщений не будет /но меня постоянно
троллят разными способами. Не верьте, что это от меня/.

anonymous ()
Ответ на: комментарий от anonymous

Авторские права на диаграммы чат-клиента принаджежат исключительно мне, и я их использовал, чтобы лицензировать код под GPL.

metaprog ()
Ответ на: комментарий от metaprog

До тебя весьма трудно достучаться. Говорю тебе одно, а ты отвечаешь на какой-то другой вопрос, который сам же и придумал.

anonymous ()

К сожалению чат требует LabVIEW Runtime 2013 или совместимый с ним. 2019 оказался не совместимым, а 2013 весит 300 МБ. Мне лень его качать. Боюсь, что этот GPL чат намертво привязан к вполне себе проприетарному рантайму.

kostyarin_ ()

Судя по всему, этот чат нарушает EULA на LabView. См. https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P9ezSAC&l=...

you must ensure that you follow section 13 of the agreement. Specifically if you distribute run-time engines for the SOFTWARE or driver interface SOFTWARE with your Authorized Application, you must pass through to users either the NI License Agreement, or your own license agreement, which is substantially in accordance with the NI License, with restrictions against allowing your end users to (i) reverse engineer, decompile, or disassemble the SOFTWARE

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

anonymous ()
Ответ на: комментарий от anonymous

Это точно совместимо с GPL?

Я в чём-то диванный, но точно совсем не юрист. :)

Однако припоминаю, что был такой очень популярный мультипротокольный чат-клиент Miranda IM для Windows. Распространялся под GPL, но при этом для сборки требовал MS Visual Studio (использовались нестандартные языковые конструкции C++, несовместимые с другими компиляторами). Претензий по нарушению GPL, насколько мне известно, не было.

Что там у ТСа, я без понятия, исходников с тора не качал. Если LabView используется только как среда разработки/исполнения — то всё должно быть окей.

Ну и цитата из annulen, который, ИМХО, разобрался с GPL лучше, чем я:

линковка с несвободной библиотекой нарушает GPL, если она не является системной или не входит в состав компилятора. В этом случае нужно вносить в лицензию специальное исключение, разрешающее линковку с этой бибилотекой (если у тебя используется сторонний GPL-код, тебе не повезло:)

Насколько я понял, единственное несвободное, что использует ТС, входит в состав «компилятора», т.е. LabVIEW. Про сторонний GPL-код не в курсе.

P.S. Всё перечисленное, разумеется, справедливо при наличии у автора и всех пользователей лицензий на LabVIEW.

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от metaprog

GPL не запрещает использовать вызовы несвободных библиотек.

А вот лицензия на рантайм запрещает GPL. Не напрямую, но условия несовместимы.

anonymous ()
Ответ на: комментарий от metaprog

Все работает и сишный код генерируется. Сишный код из линуксовых инклюдов и для линуксового компилятора, винда как временный костыль сидит на витуалке.

А если в этот мифический код засунуть #include <windows.h> то проект преобразуется в виндовый? Что в этом проекте такого лиункс специфичного, что это позволяет засирать лор? Все что я видел, это какой-то нагенеренный мусор, в котором были заинклюжены неиспользыемые линуксовые хедеры.

anonymous ()
Ответ на: комментарий от hobbit

В GPL речь идет об исходном коде. То есть, моих диаграммах. Которые можно распространять, изменять итд.

metaprog ()
Ответ на: комментарий от kostyarin_

Ну смотри, ты так долго просил тот ехешник, для тебя старался.

metaprog ()
Ответ на: комментарий от metaprog

Ну смотри, ты так долго просил тот ехешник, для тебя старался.

Да. Обязательно заценю.

kostyarin_ ()
Ответ на: комментарий от metaprog

Вот эти условия:

restrictions against allowing your end users to (i) reverse engineer, decompile, or disassemble the SOFTWARE

Делают любой софт, что использует этот рантайм, проприетарным. Ты тут свои условия устанавливать права не имеешь, ты обязан соблюдать все требования этого EULA.

anonymous ()
Ответ на: комментарий от metaprog

В GPL речь идет об исходном коде.

Тут уже вопрос стоит не о GPL, а о том, что ты, судя по всему, нарушаешь лицензию на рантайм. Ты не можешь применить GPL к этому коду.

Видать, у тебя дислексия. Это многое объясняет: смысл текста понять не можешь; ущербные диаграмки предпочитаешь мышкой таскать вместо нормального и полноценного программирования. Попробуй к врачам сходить, может помогут.

anonymous ()
Ответ на: комментарий от anonymous

Там речь про инсталлер. У меня же ехешник, требующий рантайм (но это уже отдельная песня). И сам код. Никаких инсталлеров.

metaprog ()
Ответ на: комментарий от anonymous

Так это ограничение, как я понял, распространяется именно на рантайм. Да, лабвьюшные компоненты декомпилировать нельзя, а вот исходники самого чата - другое дело.

Правда, есть другой загон. GPL требует свободу изучения. Изучение «исходников» в формате LabVIEW нельзя считать полноценным, если ограничиваться созерцанием вида диаграмм. Полноценное изучение подразумевает заглядывание внутрь файлов диаграмм (вдруг там скрыто что-то ещё). А вот попытка такого заглядывания уже явно запрещена EULA.

Всё. Звериный оскал проприетарного формата как он есть. Айвазовский, картина «Приплыли».

hobbit ★★★★★ ()
Ответ на: комментарий от anonymous

Сказать бы на чем я тех копирастов вертел, да правила не позволяют:)

metaprog ()
Ответ на: комментарий от metaprog

Видимо, ты только самую верхушку осилил.

…In any event Third Party Software is subject to the terms of the license agreement applicable to such Third Party Software, and you must conform to all of the requirements of the applicable Third Party Software license agreement, including any restrictions regarding passing through such license agreement…

anonymous ()
Ответ на: комментарий от metaprog

Сказать бы на чем я тех копирастов вертел, да правила не позволяют:)

Не надо. Мы догадываемся.

Проблема в другом. Вертеть копирастов ты можешь при одном условии: если не будешь пользоваться их продукцией. А если пользуешься (даже пираткой), то это ты не их вертишь, а сам на их... хм... игле вертишься.

hobbit ★★★★★ ()
Ответ на: комментарий от hobbit

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

metaprog ()
Ответ на: комментарий от metaprog

Но это, заметь, проблема чисто Лабвью, а не графического программирования как такового.

Пока твой софт зависит от Лабвью — это и твоя проблема.

hobbit ★★★★★ ()
Ответ на: комментарий от metaprog

Все работает и сишный код генерируется.

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

Можно на английском, можно на русском. Да я даже на украинском пойму, на худой конец, есть гугл транслейт.

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

anonymous ()
Ответ на: комментарий от anonymous

Короче, срать я хотел на те буржуйские буковки. Я свой код выложил под GPL потому что так захотел, а правильно ли это с юридической точки зрения - это уже не мои проблемы, пускай юристы спорят.

metaprog ()
Ответ на: комментарий от metaprog

Что мешало начать пилить мертвопрог в линуксе хоть на пистоне, а далее бустрапить?

vvviperrr ★★★★★ ()
Ответ на: комментарий от anonymous

Через неделю-две, скорее всего, допилю и выложу не просто чатик, а и сам прототип Метапрога. И тогда уже потыкаешь. А пока что можешь, например, сделать донат. Bitcoin:1AYoK2TScSpD5bhf67mv9AxHDJ2RidRvjD

metaprog ()
Ответ на: комментарий от vvviperrr

Пистон - текстовый ЯП, а ТС не хочет с ними связываться. Он это уже объяснял неоднократно.

hobbit ★★★★★ ()
Ответ на: комментарий от vvviperrr

Мертвопрог? Не хотелось отвечать, но ладно уж.

Питон - текстовый. Интерпретируемый. Мне он сложен и противен. Лабвью на голову выше его. Единственная проблема - пропиетарность, но я не тот танцор, которому мешают яйца.

metaprog ()
Ответ на: комментарий от metaprog

Короче, срать я хотел на те буржуйские буковки. Я свой код выложил под GPL потому что так захотел, а правильно ли это с юридической точки зрения - это уже не мои проблемы, пускай юристы спорят.

Срань, срань, срань. Ну и подставил же ты меня. Я скачал тот архив из тора. А он, оказывает, нарушает лицензии. Теперь придется все харды форматировать. Спасибо тебе большое. Уж удружил так удружил.

anonymous ()
Ответ на: комментарий от metaprog

Вот знаешь, мне сама идея твоя не нравится, грубость и хамство бесят, завязанность на проприетарщину - много есть причин «недолюбливать» твои начинания. Одно только греет душу - ты пытаешься (хоть из говна и палок, но таки пытаешься) внести хоть какой-то вклад в свободное ПО. Даже если недопрог будет тормозным и никому ненужным кошмаром - это всё же мог бы быть вклад в СПО. Может однажды кто-то нашёл бы этой ерунде применения. То что ты неуч - ну ничего, мы все были юными и глупыми. Возможно, что именно пройдя через разработку недопрога ты и осознаешь свои ошибки (по крайней мере, будем на это надеятся).

Но вот беда, которая никак не даёт мне увидеть хоть что-то светлое в твоих затеях - ты полностью забил на лицензионную чистоту. Что называется, «твою энергию бы, да в мирное русло».

anonymous ()
Ответ на: комментарий от LINUX-ORG-RU

[сарказм]Нарушение лицензии, фу-фу-фу, вор, злодей![/сарказм]

metaprog ()
Ответ на: комментарий от metaprog

а правильно ли это с юридической точки зрения - это уже не мои проблемы

То что ты нарушаешь закон - это твои проблемы. Но что ещё хуже, ты подставляешь пользователей своего проприетарного софта, который выдаёшь за свободный.

anonymous ()
Ограничение на отправку комментариев: