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)
Ответ на: комментарий от anonymous

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

«В нашем клубе джентельмены верят друг другу на слово»

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

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

За критику десятой винды. Забыл, что не на ЛОРе.

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

Здравствуйте. Я из всероссийского общества слепых. Текстовое программирование отстой полный для лохов отсталых. Но его можно прочитать с помощью синтезатора речи. Особенно тем женским голосом, который читает как будто с членом во рту. Но есть ли такая возможность у метапрога? У нас тут слепых выше крыши, их нужно куда-то пристроить. В последний раз когда мы продвигали слепых в веб, часть из них пробилась в W3C и теперь на вебе можно ставить крест. Но как обстоят дела с графическим программированием? Его же, сука, не прочитаешь даже синтезатором речи. И не напишешь — типа связь от «икс» до «игрек».

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

У меня к этим персонажам претензия только одна: они (не исключено, что с моей же подачи) в прошлом году начали носиться с этой криптовалютой, как с писаной торбой, вместо допила сокетов как first-class objects. Их-то и щас юзать можно, но не так удобно, как могло бы быть. Обещают допилить к версии 0.7. Всё. Дальше для узбека предприятия надо только разобраться, шо там по I/O в целом и рендерингу графония в частности нам Gonk предлагает, и можно выкидывать Gecko, Gaia и прочие прослойки на мороз.

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

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

Сколько километров диаграмм надо нарисовать на мегапроге

А вот ты поешь говнаскачай метапрог и попробуй (с)

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

он вам на это ничего не ответит, как и всегда, когда его уличали во лжи и двойных стандартах

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

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

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

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

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

там ещё больше видно, насколько ненужно его поделие. ни срача, ни мирного обсуждения, ни отзывов о работе, ни скриншотов, НИ ЧЕ ГО.

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

diary.ru

Я думал, что после www86.zippyshare ниже падать уже некуда. Оказалось, что вон оно как…

rebforce
()
Последнее исправление: rebforce (всего исправлений: 1)
Ответ на: Так блэт, я не понял, от anonymous

Я к тому что создается как-будто видимость действий и даже в/на 11й серии по 40 страниц, нам все еще не показали переворот строки.

anonymous
()
Ответ на: Так блэт, я не понял, от anonymous

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

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

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

Переворот ладно, но хотя бы революция в графическом программировании будет? У него уже есть прототип and everything.

¡Viva La Revolución!

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

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

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

Если набрасывает, то неудачно. Пиар уровня SupLisEr-а ещё никого до добра не доводил. Хотя ТС вроде старше и скотечки, и суплизера (на тот момент, когда тот стал знаменитостью)…

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

нам все еще не показали переворот строки.

— Маня, хочешь, Келдыша покажу?
— Да ты что, Вань, дома покажешь.

r =
  sa=sa
  emsaeb=k/r/eb.sak/r/em.
anonymous
()
Ответ на: комментарий от metaprog

Я с ним работал и знаю о чем говорю.

Лол, уже представил эту отмазу в споре, в котором сравнивают два языка.

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

Ну и чтобы вы не забывали вопросы, ответы на которые хотят как минимум два человека из треда, я их продублирую.

  • Ссылку на актуальную и официальную документацию к генератору, где указаны ограничения которые вы озвучивали («отсутствие рекурсии, гуй и прочие плюшки»)
  • И видео с полным циклом создания бинаря с помощью этого генератора (запуск лабвью -> рисование кубиков -> запуск генератора -> проверка сишного файла на корректность и совпадение с кубиками -> получения бинаря)

Будем ждать.

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

уровня SupLisEr

Цук! А ведь 12 лет прошло. охренеть как давно. Я успел сменить 4 города и 3 страны, а игру «ИМПЕРАТОР» так и не увидел. Думаю так же не увижу и метапрог. а SupLisEr жег, это да.

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

а игру «ИМПЕРАТОР»

Из всех этих наркоманских проектов только Гульман держит марку. Регулярно выходит и регулярно говно. Стабильность!

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

а игру «ИМПЕРАТОР»
12 лет прошло.

Кстати этот мудак мне ящик виски шотландского должен за то что через 10 лет игра так и не вышла.

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

А ведь 12 лет прошло. охренеть как давно.

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

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

Гульман — трэшак совершенно иного характера. Не удивлюсь, если в итоге это окажется стёб-проектом вроде Анжелы Лондон и Кирилла Сочного. Хотя сейчас всё настолько смешалось, что «в этих ваших интернетах без смайликов уже не поймёшь, кто прикалывается, а кто реально дебил» ©

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

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

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

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

Болезнь прогрессирует и пытается давать метастазы)))

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

Ну чо эта. вот котечка скачал и уже микроядро нарисовал. И свой браузер, и свой интернет, и занавески в палату.

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

Нарисовал. Говном. На стенах своей палаты.

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

Ссылку на актуальную и официальную документацию к генератору, где указаны ограничения которые вы озвучивали («отсутствие рекурсии, гуй и прочие плюшки»)

Мне выскакивают варнинги в окошке Error List. Block Diagram Warinigs. Recursive calls to VIs are not supported by the LabVIEW C Generator. Node not supported by the LabVIEW C Generator. Function not supported by the LabVIEW C Generator. Мало?

А видео зачем? Ты мне не веришь что ли?

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

Ты мне не веришь что ли?

ахххааааххаах!

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

Мне выскакивают варнинги в окошке

А мне не выскакивают. => ты п..дишь. prove me wrong.

Кстати удивительно, но гугл таких ошибок вообще не знает. Есть фейлы с рекурсией, когда кто-то пытается один vi запустить, пока не закончена очередь первого.

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

мобильной ОС

Там из палемона удалили webide, ребфорсерская мобильщина в опасносте!

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

какая связь?! профан... «проводок А к выходу В... проводок С к входу Е...» чего не понятно? это намного яснее, чем текстовый хардкор: «переменной A присвоить 5... передать переменную A в функцию S. записать результат функции в переменную D...» с проводками и входами-выходами ясно, как видео с тытруба... а с переменными и функциями даже элитка текстовых программистов не понимает — а иначе, чего они постоянно срутся «язык Х круче языка Т»

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

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

liksys ★★★★
()
Ответ на: 100500+ от anonymous

Я через тор пользуюсь DuckDuckGo, гугл реально не нужен. Правда таки пользуюсь ютубом.

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

Я через тор пользуюсь DuckDuckGo, гугл реально не нужен.

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

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

А это у него всегда так. На все сложные вопросы отвечает «а вот Линус», «а вот Пайк» и так далее. Когда нет знаний, чтобы составить мнение, а учиться своей головой думать лень, в ход идут авторитеты.

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

Вот, в документации должен описываться варнинг, который выскакивает в твоем случае. Ну и учитывая, что у тебя лабвью не актуальной версии, то и генератор скорее всего тоже, поэтому и нужна ссылка на документацию. Если ты найдешь то, что новая версия генератора может то что ты упоминал, то твой метапрог по сути не нужен. Ведь твой метапрог это просто 1:1 си, только в кубиках, а NI'шный генератор это вполне себе высокоуровневый транслятор в Си. Вот.

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

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