LINUX.ORG.RU

Метапрог-прототип, версия 7 + графические диалоги на Метапроге

 , ,


0

3

Скачать (перед запуском читайте !Русский.txt или !Українська.txt):

https://www71.zippyshare.com/v/dNcHIgzD/file.html

Новая версия принесла несколько новых фич интерфейса пользователя. Добавлено выделение прямоугольником для вырезания и копирования части диаграммы (в прошлой версии было только копирование и вставка одного блока по щелчку колесом мыши). После копирования куска диаграммы (с проводками с данными и жесткими последовательностями) его можно вставить кликом колесом мыши на пустом месте диаграммы. Есть план реализовать в будущий версиях также создание подфункций из выделенного куска - аналог Create SubVI из LabVIEW (так была сделана немалая часть функций в прототипе Метапрога).

Однако самая интересная фича новой версии - сериализация в base64 координат блока на диаграмме с цепочкой функций. Этому есть как минимум два возможных применения. Можно «ткнуть пальцем» на нужный блок (меню блоки - ткнуть пальцем на блок). Будет сгенерирована строка такого вида:

metaprog_debug:AAAAAAAAAAAAAAAHAAAAAFBUSDAAAAAEAAAAAAAAAAAAAAAAAAAAAwAAAAdNUEwgMi4wAAAAB0xJQ0VOU0UAAAAU4fPk6Ov87ejqIO3gIOfg7+jy4PUAAAAK0+rw4L/t8fzq4AAAABXh8+To6/zt6Oog7eAg5+Dv8O7x4PUAAAAH0PPx8ero6VBUSDEAAAAxcmVsIAAr0LHRg9C00LjQu9GM0L3QuNC6INC90LAg0LfQsNC/0LjRgtCw0YUubXBiZBNiCtNfkRABAAAAAwAAAAdNUEwgMi4wAAAAB0xJQ0VOU0UAAAAT9rPr7vfo8evu4ujpIOSz4Ovu4wAAAArT6vDgv+3x/OrgAAAAFPbl6+736PHr5e3t++kg5Ojg6+7jAAAAB9Dz8fHq6OlQVEgxAAAANXJlbCAAA25rYwAq0YbRltC70L7Rh9C40YHQu9C+0LLQuNC5INC00ZbQsNC70L7Qsy5tcGJkP/rfBI32qgEAAAADAAAAB01QTCAyLjAAAAAHTElDRU5TRQAAABDy5erx8u7i6Okg5LPg6+7jAAAACtPq8OC/7fH86uAAAAAQ8uXq8fLu4vvpIOTo4Ovu4wAAAAfQ8/Hx6ujpUFRIMQAAAC9yZWwgAANua2MAJNGC0LXQutGB0YLQvtCy0LjQuSDQtNGW0LDQu9C+0LMubXBiZFbEp7cIT2gBAAAAAwAAAAdNUEwgMi4wAAAAB0xJQ0VOU0UAAAAV5+Dv8/HqIOKz6u3gIE51a2xlYXIrAAAACtPq8OC/7fH86uAAAAAU5+Dv8/HqIO7q7eAgTnVrbGVhcisAAAAH0PPx8ero6VBUSDAAAAAWAAEAAgNua2MNbmtjIGluaXQubXBiZFQc/+kgVZgBAAAAAwAAAAdNUEwgMi4wAAAAB0xJQ0VOU0UAAAAO+PDo9PIg7fPq6+Xg8CsAAAAK0+rw4L/t8fzq4AAAAA748Oj08iDt8+rr5eDwKwAAAAfQ8/Hx6ujpUFRIMQAAADpyZWwgAANua2MAL9GW0L3RltGG0ZbQsNC70ZbQt9Cw0YbRltGPINC90YPQutC70LXQsNGAKy5tcGJkaxMcpv873AEAAAAAUFRIMAAAAAQAAAAAdcftGC2ZsAE=:metaprog_debug

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

Вместо тысячи слов:

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

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

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

https://postimg.cc/hQVLBcHp

Дебаг-строку выводит оранжевый блок.

В новой версии прототипа Метапрога было исправлено множество багов. Теперь метапроговские массивы и СУВТ можно помещать под указатели и вставлять в структуры, не боясь багов. Это позволило добавить к будильнику, реализованному в прошлой версии, диалоги, запрашивающие час и минуту срабатывания будильника.

Для компиляции надо скачать https://sourceforge.net/projects/tinyfiledialogs/

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

Код:

https://pastebin.com/5NW30tQx

Введя нужное число, закрываете окошко. После ввода часа и минуты в консоль будет выведено время срабатывания. Теперь будильником можно пользоваться и для повседневных нужд (звук пронзительный, хорошо слышный, sound.wav больше не нужен), однако завершать его работу надо еще через диспетчер задач или Ctrl+C в консоли, когда не идет звук. Также нет проверки введенных чисел, если введете не то число - будильник никогда не сработает.

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

Предыдущая версия:

Метапрог-прототип, версия 6 + будильник на Метапроге



Последнее исправление: metaprog (всего исправлений: 2)

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

Вообще-то я не Шариков.

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

ЗЫ: для тех, кто только смотрел, а не читал.

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

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

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

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

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

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

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

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

Как и в большей части «русской классической литературы». И этим рвотным порошком еще и детей мучают.

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

Как и в большей части «русской классической литературы».

Ты такой большой знаток «русской классической литературы», что можешь делать такие выводы?

Кроме М&M в школе из Булгакова больше ничего не было. Может сейчас что-то и добавили. Но М&M читалось в основном легко, там много прикольных моментов, которые разбавляли «страдания» основных персонажей.

И этим рвотным порошком еще и детей мучают.

Наследие бывшего СССР – все, что воспевало успехи советского строя убрали, а всяческие психологические страдания, которые раньше были страданиями при царском режиме, а теперь стали просто страданиями, оставили. Ну еще и графоманию Толстого, будь она не ладна.

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

Ты на это лучше ответь Метапрог-прототип, версия 7 + графические диалоги на Метапроге (комментарий)

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

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

Потому что ты - жертва копирастической пропаганды.

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

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

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

Ну да, разумеется. Ринат, автор нескольких полезных опенсорсных утилит — это бездарность. А эталонное хамло, код которого тут никто не видел, но которое зато на всё вокруг гордо смотрит, как на говно — это офигенный авторитет в Си, который ты «уважаешь за взгляды».

За взгляды, ага-ага.

Стокгольмский синдром как он есть.

Тьфу.

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

Потому что ты - жертва копирастической пропаганды.

…сказал главный пропагандист копирастов из NI на ЛОРе.

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

Что такое СУВТ ты так и не удосужился объяснить. Это таки одна из многочисленных реализаций Variant’a?

Да.

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

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

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

Если я случайно скипаю что-то важное (иногда могу, особенно когда много пишут) - напоминай.

Что такое СУВТ

Это - структура условного выбора типа. Ее используют когда нужна переменная, тип которой определяется именно в рантайме. При этом надо еще и обрабатывать ее зависимо от типа. На уровне Си получается структура из числа-селектора типа и юниона из разных типов. Есть свич по СУВТ, выдающий разные типы, дальнейшее выполнение программы идет зависимо от типа. Вот так:

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

Понятно или перефразировать?

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

Ринат, автор нескольких полезных опенсорсных утилит — это бездарность

Покуда его хватило только на игрушку - да. Остальные его утилиты мне видеть и щупать не доводилось.

эталонное хамло, код которого тут никто не видел

Вроде были от царя бенчмарки, но их потерли. И еще я видел образцы его кода тут: MySQL как лучше хранить матрицу

но которое зато на всё вокруг гордо смотрит, как на говно — это офигенный авторитет в Си, который ты «уважаешь за взгляды».

Не только я. Почитай удаленные тут: Почему ООП стало более популярным и соответствующие языки и технологии программирования чем то же ФП?

Особенно интересна реплика от arturianec100:

Вот что ты со мной сделал??? Теперь когда я вижу пропаганду очередной скриптухи, вместо «вау», у меня «бл@, выкатили ещё один недоязычок! Несколько лет назад все жужжали, что надо учить скриптуху Х, а теперь хайпят скриптуху Y. Все знания по Х оказались мусором и выкидываются на помойку. „Индусы“ повторяют, что это норма для it, но эта пропаганда не работает, когда понимаешь фундаментальность сишки. Вся та сишная база и паттерны на её основе актуальны уже более 40 лет (да, появился gnuc, который стал „современным Си“, но это развитие тех старых концепций).» Однако мерзко осознавать каким мусором является большое количество it-шных вакансий.

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

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

Что такое СУВТ

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

Кто использует? Есть полезные примеры использования?

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

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

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

Понятно или перефразировать?

Зачем эти рисуночки, да еще и с линиями и крестами, дорисованными в паинте? Ведь все равно ничего не понятно, пока Метапрог-прототип, версия 7 + графические диалоги на Метапроге (комментарий) описания не будет. Вот, только не надо в очередной раз предлагать скачать метапрогу. Документацию давай.

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

Покуда его хватило только на игрушку - да.

Как ты лихо ярлыки-то раздаёшь.

Остальные его утилиты мне видеть и щупать не доводилось.

А, то есть даже в профиль не заглянул. Понятно.

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

все равно ничего не понятно

Не понять тот рисунок может только даун.

Кто использует? Есть полезные примеры использования?

На самом Метапроге пока только тестовые примеры. К мысли о СУВТ я пришел при работе над прототипом Метапрога в Лабвью. Там приходится велосипедить костыль а-ля СУВТ из енума и строки, обрабатываемой зависимо от типа. Variant лабвьюшный неудобен, проще так делать.

реализации метапроги

Вообще-то никакую «метапрогу» я реализовать не собираюсь. Или это опять буйная антметапрогерская фантазия по коверканию названия Метапрога разыгралась?

зачем это тебе это сейчас вообще нужно

Нужно будет при построении конструктора диаграмм и вообще чего-либо сложного.

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

Сам смотри. Ты тут уже наговорил на 5.2, отмазывать тебя я больше не хочу.

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

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

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

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

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

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

Есть у меня переменная age , я понимаю что значит число в ней . Как я пойму что это за данные в безымянном квадрате или проводке ? А, добавишь комментарий «age» .

Да, удобства во все поля и экономия.

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

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

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

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

Как я пойму что это за данные в безымянном квадрате или проводке?

По источнику.

добавишь комментарий

У себя в Лабвью я почти ничего не комментирую.

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

Не понять тот рисунок может только даун.

А не понять программу на ЯП может только полный имбецил. Кончай наклеивать ярлыки. Тебе уже написал про документацию Метапрог-прототип, версия 7 + графические диалоги на Метапроге (комментарий) , а ты начинаешь мазаться. А еще и обзываться. Я тебя дауном не называл.

[CУВТ (это видимо определение?)]–>[СУВT (это значение задается?)]–>[iнше (что это за хрень «iнше»?)]–>[и ХЗ («123 >_» ???)]

Кроме того, используются различные цвета, видимо для разных типов свои. Некоторые цвета практически неразличимы. Что будут делать программисты, успешно программирующие на текстовых ЯП, но у которых есть проблемы с восприятием цвета? Те же, у которых дальтонизм?

Вообще-то никакую «метапрогу» я реализовать не собираюсь.

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

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

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

Я пока что и так знаю достаточно, чтобы пилить прототип Метапрога, а если чего не знаю - Котечка подскажет запросто без посыланий к гуглу.

Кстати в сеть попало видео как котечка помогал метапрогу, правда хакеры изменили внешность, и голоса на английский сменили, но суть осталась:

3 минуты 38 секунд:

https://www.youtube.com/watch?v=pKO9UjSeLew

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

мы твои диагнозы разбираем

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

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

[CУВТ (это видимо определение?)]–>[СУВT (это значение задается?)]

Все правильно. Константа и операция над структурой. В операции над структурой записывается значение СУВТ и автоматически задается соответствующий тип.

[iнше (что это за хрень «iнше»?)]

Это - переключатель, по-сишному switch по селектору СУВТ, «інше» = «другое» = «default». От области «другое» могут вести жесткие последовательности к блокам, которые должны выполниться, если значение селектора СУВТ не соответствует ни одному из типов.

123 >_

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

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

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

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

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

За техническими вопросами забыл за это ветку.

Ты такой большой знаток «русской классической литературы», что можешь делать такие выводы?

Я делаю выводы из того, что я видел и знаю. Читать-то я многое не читал, у меня хватило ума большую часть проскипать. Однако я слушал что говорят на уроках литературы. И что - в той макулатуре почти ничего о технике не говорится. Только о том, что Каренину сбил паровоз или о том, что кто-то едет на выставку в Париж, а о том какие последние технические новинки там были представлены - ни слова, так же как и о самой поездке: какие поезда, паровозы, их мощность, скорость, расход воды, топлива и песка, пути, их состояние, уклоны, одно/двухпутные линии, станции, остановки на заправку водой и углем/дровами, на какой станции смена ширины колеи, происходит ли при этом пересадка или просто смена тележек вагонов. Если б там было побольше таких вещей - читал бы все книги от корочки до корочки. А так только

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

А этим забивать себе мозги мне неинтересно. Страданий и в реальной жизни хватает в наши дни, но за нацпол на ЛОРе сообщения трут.

Ну еще и графоманию Толстого, будь она не ладна

К счастью, хватило ума проскипать. На контрольной по Войне и миру получил двойку и выдохнул:)

М&M читалось в основном легко, там много прикольных моментов, которые разбавляли «страдания» основных персонажей

«Роковые яйца» того же Булгакова почти вся прикольная. Это прочитать по свободе еще можно. Еще есть Дни Турбиных о Киеве времен большевицкой революции, который переходил из рук в руки и был несколько раз бездарно слит красным, может там будет что-то интересное по истории, но некогда - надо самому историю писать:)

И, опять же, есть и мой любимый пласт русской классики - по мне так самый интересный. Но в школе такого не было: https://rustih.ru/ivan-barkov-s-matom/

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

Ну я ж не шоутайм ринатовский делаю все же.

А в шоутайме все понятно без объяснений, а тебе приходится пояснять, что такое «iнше» и «123 >_». Т.е. твое графическое программирование без внятной документации вообще не очевидно.

Но в школе такого не было: https://rustih.ru/ivan-barkov-s-matom

Неужели такое хочется и интересно читать? Шлак же полный.

какие поезда, паровозы, их мощность, скорость, расход воды, топлива и песка, пути, их состояние, уклоны, одно/двухпутные линии

Зачем нужна эта вся техническая инфа в драме про человеческие отношения?

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

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

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

Читать-то я многое не читал, у меня хватило ума большую часть проскипать.

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

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

Зачем нужна эта вся техническая инфа в драме про человеческие отношения?

Его не интересуют драмы, ему хочется изобретать, творить! Он же выкладывал видео - ему хочется изобрести новый самолет, тепловоз, автобус! Правда как он собирается это делать не владея элементарной школьной математикой («квадратное уравнение это матан который я помнить не обязан»(с)) непонятно… Впрочем понятно, так же как и метапрог - нарисует на бумашке новый атомный паровозосамолет взлетающий с жд рельс (приделываем значицца к паровозу крылья, а в котел кладем урановые таблетки горкой) и будет ходить и гордиться - «я изобретатель, я решил все транспортные проблемы человечества, а вы все дураки и мне завидуете!»

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

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

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

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

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

Какой нахер твердый знак, название этого паровоза читалось «Ер». Безграмотная школота(((((

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