LINUX.ORG.RU

Metaprog: выпуск прототипа (универсальная графическая среда программирования)

 , ,


2

3

Сегодня, как и было обещано, день выпуска LabVIEW-прототипа универсальной графической среды программирования Metaprog.

LabVIEW-прототип не является конечной целью. В дальнейшем с помощью прототипа Metaprog будет собран «сам на себе» и не будет зависеть от LabVIEW.

Приглашаю всех желающих стоять у истоков универсальной графической среды программирования присоединиться к работе над прототипом!

Видео-обзор ( VarfolomeyKote4ka)

https://youtu.be/EcQMgUAm0DE

Скачать: https://www86.zippyshare.com/v/pWggQ91b/file.html

Аннотация

Открывать и запускать !метапрог.vi и !метапрог онлайн.vi

В Метапрог онлайн интегрирован чат и хранилище пакетов с блок-диаграммами. Там идет разработка Метапрога и можно получить консультации.

В Метапрог и Метапрог онлайн встроена справочная система и интерактивные инструкции.

Требования:

1. Для запуска, просмотра и редактирования диаграмм - LabVIEW начиная с 2013.

2. Если не удалось достать линуксовую версию LabVIEW - виртуальная машина с Windows начиная с ХР с кириллической локализацией (иначе будут проблемы с кодировкой символов).

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

https://www.torproject.org/

или:

sudo apt-get install tor

4. Для компиляции сгенерированного кода:

sudo apt-get install clang libevent-dev libsdl2-dev

Адрес для добровольных пожертвований:

Bitcoin: 1AYoK2TScSpD5bhf67mv9AxHDJ2RidRvjD

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

Код лицензирован под GNU GPL v3, подробности - по кнопке «Про программу» и в файле LICENSE.txt (на английском). Отдельные файлы могут быть лицензированы под MPL и другими лицензиями.

Описание конструктора диаграмм (часть справочной системы, лучше читать смотря на Метапрог)

В случае вопросов или проблем консультации можно получить в чате программы «Метапрог онлайн».

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

Блок-диаграмма состоит из блоков, линий с данными и особых линий - жестких последовательностей. Каждый блок может иметь входы и выходы.

При клике на терминал начнется рисование провода с данными. Клик на пустом месте при рисовании провода задает точку излома провода. При приближении курсора к терминалам провод автоматически подстраивается под ближайший терминал с совместимым типом (несовместимые типы подключить невозможно). Для окончательного подтверждения соединения кликни и связь будет установлена. Чтобы отменить рисование проводка, нажми Esc.

Подключаться дважды к одному терминалу нельзя - будут ошибки. Используй разветвления. Чтобы создать разветвление, кликни на квадратик, который появляется при приближении к проводу, и рисуй провод как обычно (только отенять кнопкой Esc не надо - будет баг).

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

Очередность выполнения также задается жесткими последовательностями. Это - особые линии, которые проводятся по кнопке блоки - последовательность. Первый клик на блоке - начало последовательности, следующие клики - изломы провода (на пустых местах) либо конец последовательности (на блоке). Места начала и конца провода имеют значение при работе с циклами, условными разветвлениями, переключателями.

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

Чтобы скопировать элемент на диаграмме, нажми на него колесом мыши. Чтобы вставить - жми колесом мыши на пустом месте.

При наведении мышью на элемент диаграммы отображается подробная информация о нем. Элементы подсказок кликабельные. Для дальнейшней справки кликай на "?" в подсказках к элементам.

Описание контейнера с данными и системы типов (часть справочной системы, лучше читать смотря на Метапрог)

В Метапроге есть три вида контейнеров с данными: константа, вход и выход. Константа имеет жестко заданное значение. Вход и выход связывают эту диаграмму с внешними диаграммами.

При клике правой мыши на пиктограмме перемещения константа будет преобразована во вход такого же типа.

Типы в Метапроге имеют надтип. Может наследоваться интерфейс работы с данными, способ трансляции в Си и цвет (если тип не имеет своего цвета). При работе с диаграммой и ее трансляциями в Си данные разных типов обрабатываются зависимо от корневого типа. Метапрог имеет следующие корневые типы:

Данные - включает в себя числа (знаковые, беззнаковые и бробные разных разрядностей) и логический тип (зеленый). Логический тип совместим со всеми числовыми типами, так как в Си они могут выступать в качестве условия (если ноль - «нет», все другие значения - «да»). Есть типы число (все числа, коричневый), знаковое (голубой), беззнаковое (темно-синий), целое (объединяет знаковое и беззнаковое),дробь (оранжевый).

Неопределенное - аналог типа void в Си. Совместим со всеми типами.

Указатель - содержит адрес данных. Прямо транслируется в указатель на Си. Получается из данных блоком «указатель» (из меню блоков), вытягиваются данные из указателя блоком «вытягивание указателя».

Структура (последовательность и выбор) прямо транслируется в struct или union на Си. Формируется из контейнеров с данными другого типа путем из вытягивания на структуру. Достум к элементам структуры осуществляется через блок «операция над структурой».

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

Структура условного выбора типа не имеет проямого аналога в Си. Состоит из числа-переключателя и структуры выбору (в Си - union) из данных разных типов. Тип данных зависит от значения переключателя. Задается и читается через операцию над структурой. Можно подключить к переключателю (блоки - переключатель), в котором обрабатывать данные зависимо от типа. Для добавления типа вытащи контейнер нужного типа на СУВТ.

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

Функция Си - на уровне Си является указателем на функцию. Над такой константой есть пикторгамма соответствия копии на диске в виде дискетки, как над подфункцией. Ее цвет зависит от соответствия. Кликом по этой пиктограмме можно управлять соответствями. Подобная пиктограмма есть у сложных типов (структур и структур условного выбора типа). В подсказках к константам, содержащим подфункцию, есть 4 цветные цифры. Это суммарное число комментариев определенных видов в поддиаграммах (замечание, известные ошибки, пожелания и «дело сделано»).

------------------------------------------

При клике на пиктограмму перемещения объект можно передвинуть, при этом линии до его терминалов передвинутся за ним (но тут еще возможны баги).

При клике на название объект диаграммы можно переименовать. Название объекта никак не влияет на логику и предназначено для чтения людьми.

При клике на подсказку к входу блока начинается вытаскивание константы такого же типа (которую можно правой кнопкой мыши по пиктограмме перемещения преобразовать во вход). При клике на подсказку к выходу блока начинается вытаскивание выхода того же типа.

Предыдущие темы, посвященные разработке Metaprog

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

Там же ссылки на более ранние темы.



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

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

Вообще может статься так, что метапрогер делает это всё исключительно ради лузлов, чтобы над всеми нами по потешаться:)

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

Нет, его комментарий был изначально с оскорблениями, уже какие то мифы с легендами образуются прям.

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

А что это?

Хз, разработка — это когда код пишут. Кода здесь нет.

В разработке же все еще

Вот когда будет, тогда и говори что есть, а сейчас ничего нет.

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

Хз, разработка — это когда код пишут. Кода здесь нет.

Это графическая разработка.

Вот когда будет, тогда и говори что есть, а сейчас ничего нет.

Что есть? Ну прототип есть действительно.

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

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

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

без потраченного дня

На диск из конца 90х виртуалка с метапрогом ставилась минут 10. Скачивание еще минут 5-10.

Какой у тебя интернет и компьютер что у тебя может уйти на это день? Если что эти 15м не нужно сидеть у пк, поставил на загрузку, потом на установку, и все.

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

Если бы ты вместо своих постов занялся установкой - уже бы пробовал метапрог. И зачем писать в теме заведомо провального проекта?

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

почему бы и не писать? Пишут же на раддитах, двачах и прочих развлекательных ресурсах.

уже бы пробовал метапрог.

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

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

почему бы и не писать?

На виртуалку лень тратить силы потому что проект провальный, а писать не лень? %)

ничего не умеет

Уже много чего умеет.

да еще и предназначен для рисования кода на си

Нет, это все ликсусяребфорсерская пропаганда.

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

Уже много чего умеет.

нет не умеет. И пока не доказано обратного, он ничего не умеет. Давай видео с полным циклом: запуск, собирание примера (напрмиер переворот прочитанной с консоли строки), компиляция и запуск результата. Только не упоротые каляки-маляки на белом фоне, а с полным окном всей этой поделки. Заодно и посмотрим сколько времени уйдет на написание такого приметивного примера.

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

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

annulen ★★★★★
()

Представьте, у ТС есть мамка и он ей затирает про метапрог и кучу умных дядек программистов с которыми он общается на форуме и они уже готовы ОГОГО скока денег ему платить и даже на работу взять без университета!

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

осталось дождаться репортажа про гения и прорыв в программировании с нескучными схемами.

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

Чтобы не было казуса, распространять поделку можно только среди владельцев лицензии на лабвью

Ну это очевидная норма лицензионной гигиены, да.

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

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

чего ты пытаешься добиться своими жалобами?

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

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

Своеобразный способ не спускать

Таки согласен, реализация получилась не очень.

Вообще может статься так, что метапрогер делает это всё исключительно ради лузлов

У меня была такая гипотеза. В таком случае поражает количество потраченных на лулзы усилий: и диаграммы вырвиглазные рисовал, и код обфусцированный выкладывал... Нет, маловероятно.

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

Нет, его комментарий был изначально с оскорблениями, уже какие то мифы с легендами образуются прям.

Исходная дискуссия:

metaprog: У меня есть цель софт делать, а не учиться.

liksys: Не надо ему давать объяснения, пусть сам все ищет.

metaprog: Кстати, уже есть идея по жопомеру. Прикрути к ардуино датчик метана и датчик давления. У тебя уже есть прибор с двумя стрелочными индикаторами, всего лишь поменять подписи и программу переделать на измерение давления газов и концентрации метана. После чего можешь смело идти в жопу.

Собственно, после этого дискуссия перешла на уровень «нет ты» и там осталась.

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

Исходная дискуссия

Это не исходная дискуссия, потом найду первый его комментарий, собственно и так видно же что тут уже он «знаком» выше.

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

metaprog.org

На этот сайт специально кривую анимацию завезли?)

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

Разборки - дело десятое. Главное - ссылка на скачивание, описание, возможность связаться с автором (хотя лучше уже через Метапрог онлайн, там есть чатик).

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

Я с Ликсусей несколько страниц культурно беседовал. Начало дискуссии с Ликсусей: Metaprog: универсальная графическая среда программирования [в разработке] часть 6 (комментарий)

Проблема вот в чем:

Я неоднократно высказывал мысль, что ему нельзя помогать ни кодом, ни готовыми ответами

Именно после первого призыва не помогать проекту я и послал Ликсусю в жопу. И еще:

А где наш юный и пылкий революционер? 24 число наступило, а глумиться ещё не над чем

Ну не нравится - уходи из тем, добавляй в игнор, но зачем тут спамить? ЧСВ тешить? То же самое, кстати, касается бабы Ребфоси и тети Ирины. Не дает им Метапрог покоя...

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

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

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

Текстовое программирование нежизнеспособно. Brainfuck - ярчайший тому пример. Так же работает твоя логика с графическим программированием.

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

Даже самый «неудачный» brainfuck более распространен, чем 99% графического нытья.

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

Из более-менее удачного графического - блюпринты из ue4.

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

Интересно, есть ли для си инструменты вычищающие не использованный код и инклуды...

лорчую вопрос, наверняка есть

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

и целый LLVM

О, надо будет освоить как-нибудь.

Сизифов труд. Придёт Царь и умножит тебя на ноль. Труд насмарку. Понтовость ухудшится, ещё чего доброго и пукан сгорит.

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

как у создателя болгеноса

имя Попова не должно быть забыто! вспомнил болгенос — вспомни имя! (кстати, имя я забыл. Денис? Евгений?)

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

о! А я не знал что он топик на лоре создавал до конкурса еще! Спасибо! Я пошел некрочитать. там же ведра попкорна не хватит

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

146%! Все современные ОС, всё современное ПО сделано на графическом программировании — мы-то с Вами это понимаем... А корпорации скрывают этот очевидный факт. Кто в здравом уме будет набирать десятки-сотни тысяч строк кода? Это же не реально...

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

Это секта текстовиков присылает свои адептов в страхе потерять прихожан.

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

почто фрактала обидел?

Фрактал — это ферман, что ли? Дык такой же неадекватный школотрон.

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

Повторяю, мнения всякого малолетнего хамла меня не интересуют. А тем более того, которое уже само себя умножило на ноль высерами про списки hosts.

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

Хочешь - сделай, Метапрог я выложил.

- Ээй я тут выложил суперпупердупапрог! налетай! Будущее программирования!
- Ээээ, а есть что-то типа in action видео. Ну там примеры, скриншоты, примитивные задачки, которые можно решать этим прогом?
- РЯЯЯ!!! Сам делай! Спервадобейся! Ясмог, явыложил! А чегодобилсяты?! метапрог уже 100500 установок и все рисуют код! Вот сам возьми! он есть! ясделалЪ! идитевжопу!

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

идитевжопу!

Это ТС из Хэлбоя скопипастил /есть там моментик/.

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

Что скажешь про Notepad++, который под GPL, но для запуска требует несвободной ОС? Очевидно, что пусть и метапрог - нинужный отстой, но факт требования несвободного ПО не есть ограничение

Для запуска СПО может потребоваться несвободный биос и несвободный процессор, но зато в теории оно может быть отвязано от этого железа

Нередко свободное open hardware завязано на несвободный альтиум например

anonymous
()

ТС движется в своём направлении, хотя я лично думал что он сольётся с нулевым эффектом. Лицензии-не-лицензии и всё такое – меня это на данном этапе не волнует. Главное что он не слился, а это уже не фигня. Так что, как говориться, подождём-с. Жаль прогнозов не подвезли, тудушечку, там, тасклист, ремэйн, всё такое.

kostyarin_ ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.