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

Суть всех тредов похожа на анекдот - «ТС, ну изучи текстовый язык» /«Лысый ну выпей»/.

Владимир

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

Взлетит ли метапрог — очень большой вопрос

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

всё благодаря ТСу

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

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

Напомню анекдот.

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

Владимир

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

Registered August 24, 2019

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

i-rinat, rebforce, hobbit, кто-нибудь хочет?)))

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

Без меня, плиз. Швабром брезгую. Вот если тип в мобильную сферу полезет, то на 4PDA — всегда пожалуйста.

P.S. «Трамвай с пассажирами до 40 тонн, троллейбус до 20.» — я всё ещё подозреваю, что либо у нас с ним общие знакомые могут быть, либо у моих знакомых могут быть с ним общие знакомые… Страшно, панове.

P.P.S. То же касается и Вертекса, но по его поводу не страшно. А по поводу Мегапрогера — весьма.

rebforce
()
Последнее исправление: rebforce (всего исправлений: 3)
Ответ на: комментарий от liksys

На хабре за это могут «хаброй» по спине дать.

Владимир

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

Можно грабить корованы

Есть и хорошо проработанная аэродинамика: можно делать самолеты, в том числе выходящие на орбиту.

Мдэ.

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

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

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

Нового ты ничего не представил. Уже давно по примерам с единичными вызовами fwrite и подсчётом факториала предсказывали, что поделие, которое ты выложишь, если выложишь, будет никакое. Косвенно ты это подтвердил, когда на просьбу строку перевернуть заявил, что вопрошающий сам должен это сделать. Это же просто дно. Ты гордо представляешь систему программирования, на которой даже сам боишься кодить. Скажи, зачем преодолевать трудности в получении твоего поделия, если сразу ясно, что толку от него не будет? Для лулзов? Слишком поздно уже, надоело.

Что тут ещё говорить? Восхищаться, что ты закодил редактор диаграмм? Ты же видел, что я за это время сделал два. Ещё и с презенташками. Причём это не значит, что я опупеть какой супер-программист. Это означает, что задача простая.

Если ты гордишься своим достижением, это нормально. В конце-концов, возможности у всех разные, и уровень достижений тоже разный. Но ты пытаешься этим достижением унизить всех остальных, а это уже позорище.

Интересно, вы там с «котечкой» уже наигрались в hello-world’ы, где вместо обычного текста оскорбляете участников тредов, которые не верили в ваш «успех»?

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

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

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

Ты же видел, что я за это время сделал два.

Ну дык я тоже за вечер сделал один, на С. Даже с компиляцией в ассемблер. Но эти «интересные программки» с метапрогом сравнивать нельзя, там сетевой функционал, работа с диаграммами, castxml + c, обучалка и многое другое!

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

Только этого никто не видел. Вангую, что там совсем примитивное говно, которое даже стыдно на видео и скринах показывать.

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

Ээээ /не нужно предупреждать. Но скорее всего на ЛОР хабровчан не мало/.
Пусть «хлебнут» дюжину статей ...

Владимир

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

Нет, за целый вечер я сделал свою микроядерную ОС, полностью ее отладил, написать гуитулкит там короч свой метапрог ток в ста раз лучше, вот.

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

Я могу привести пруфы на то,но тратить свое время на это не буду

Функционала в итоге вышло чуть побольше чем у showtime komputeshion, и еще свой аналог castxml сделан был.

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

Интересно, вы там с «котечкой» уже наигрались в hello-world’ы, где вместо обычного текста оскорбляете участников тредов, которые не верили в ваш «успех»?

Я писал де то хелло-ворлды и публиковал их? О чем ты?

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

... там короч свой метапрог ток в ста раз лучше, вот

Ну вот, капец метапрог /а еще другом назывался .../.

Владимир

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

и с какой это целью наш гений интересуется, если у него уже свой метачят готов и стабильно работает через тор?

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

«Лед тронулся господа присяжные заседатели».
Скоро появится «Metaprog: выпуск прототипа (универсальная графическая среда программирования) Часть 2»

Владимир

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

Ты же видел, что я за это время сделал два

Если ты гордишься своим достижением, это нормально. В конце-концов, возможности у всех разные, и уровень достижений тоже разный. Но ты пытаешься этим достижением унизить всех остальных, а это уже позорище.

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

лицемерные

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

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

Ну что ж, думать за тебя я не могу. Даже помочь не получится. Тебе придётся сделать это усилие самому.

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

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

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

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

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

Да, это полный провал. Можно было бы сказать «родила гора мышь», но metaprog даже горой-то стыдно назвать. Кучкой, разве что.

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

Скорее всего его уже «заело» и ему теперь нужно доказать «всем» ...

Владимир

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

Трамвай с пассажирами до 40 тонн, троллейбус до 20

Мне до сих пор думается, что он из паравозного училища.

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

да кондуктором он подрабатывает (по-блату скорее всего). В училище он на приеме документов провалился бы.

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

Мне до сих пор думается, что он из паравозного училища.

Причем по идее это должно помочь решить задачу с переворотом строки. Пусть представит вагоны и рельсы. Но он всё никак не осилит эту детскую задачку. Это какой-то позор...

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

Ну, всё, с меня хватит, больше так не могу, иду скачивать этот метапрог и смотреть на него.

Присылайте донаты на лицензионный labview и уже совсем скоро, обещаю, будут скрины и видео.

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

Плюсую, у меня, если не путаю, завалялся инвайт. На такое дело будет не жалко.

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

Или ты хочешь, чтобы сразу на главную, фонтаны говна и все прочее?

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

https://habr.com/ru/post/427495/ Cколько зарабатывает Хабр + инструкция как узнать сколько зарабатывают другие компании

Для бизнеса самое главное - деньги ...

Владимир

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

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

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

Вагоны и рельсы? Чувак, если состав нужно перевернуть повагонно, то надо менять диспечера, чтобы таких ситуаций не возникало вообще. Работа по развороту — уйма топлива и человекочасов. А так же занятое место на станции на время работы.

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

Да вроде с началом треда в Московском зоопарке начали обучать макак двигать блоки за бананы. Дело идёт. Подумайте сами сколько офисного планктона можно будет уволить...

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

Мы, приверженцы текстового программирования, не приемлем здешних разработок. Если вы продолжите работы, то мы будем бомбить ваших мамок. Керниган акбар!

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