LINUX.ORG.RU

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

 , ,


1

3

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

https://www24.zippyshare.com/v/xEn1RKAG/file.html

Основная причина выпуска 6 версии - исправление бага с жесткими последовательностями, ведущими к началу цикла. Это исправление вряд ли окончательное, но для трансляции диагарммы будильника сойдет. Если после транслятора из 5 версии прототипа Метапрога сообщение о времени будильника выводилось в цикле каждый раз, то тут - только один раз, в самом начале:

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

Также проект может похвастаться тем, что функцию проигрывания звукового файла в своей основе сделал insw, успешно разобравшись с функционалом прототипа Метапрога. Я лишь добавил дебаги с условными разветвлениями (аналог if...else) и жесткими последовательностями. В получаемом из транслятора сишном коде это выглядит как множество вложенных друг в друга if...else. Проигрывание звука:

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

Сишная трансляция диаграммы будильника (не забудьте sound.wav!):

https://pastebin.com/YAd4J1SN

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

Переворот массива

Наконец-то удалось первернуть массив из байтов. Для этого пришлось повозиться с диаграммами транслятора-кодогенератора. В 6 версии прототипа Метапрога эта диагармма уже корректно не оттранслируется, планирую выпуск 7 версии, но надо еще поработать над массивами.

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

https://postimg.cc/RJMKXyTB

Если все же что-то неясно - не стесняйтесь спрашивать. Полученный код:

https://pastebin.com/UsY0TZvc

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

Метапрог-прототип, версия 5

Вообще, если кроме шуток и стёба: сама идея графического программирования - вероятно очень хорошая и является будущим. Но по многим причинам оно пока никому не нужно. И во-вторых, реализации чего-то визуального, если начнётся хайп, напишут многие люди, многие вообще все из которых гораздо более опытны чем автор треда. И таким образом те реализации будут куда лучше. «Первым» автор тоже не был, до него было уже как минимум Лаб Вью и таким образом ни какие лавры при текущем темпе развития (не только самого метапрогра, но и в целом собственной программерской кульутры) рассчитывать ему не следует.

anonymous ()

Извлёк из удалённых по 7.1 в той теме (предположительно, от царя):

В любом случае вы видите то, что текст говно. Видите, что адепты блокнота поехавшие, но вы сами куда-то поехали не туда. Текст действительно говно, но вам ненужно оно - вам нужен интерактивный текст. Там графики, репл. https://www.youtube.com/watch?v=Opu8iKkS6lo - что-то такое.

hobbit ★★★★★ (12.01.20 12:21:17)

Отсюдова: Метапрог-прототип, версия 5 (комментарий)

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

anonymous ()

Шутка.

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

Владимир

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

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

Не поверишь, анонимус, я о том же автору метапрога писал где-то полгода назад. Его эта перспектива не пугает. :)

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

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

metaprog ()

Отвечу на коммент от царя.

Кстати, я тут увидел против вас заходы вида «да там 200 метров бинарей - ты ничего сам не сделал». Да это же раст. Сразу проси адептов пойти и объяснится за раст.

Да у меня первые ассоциации это раст как раз %) Думал написать.

Но в целом ваши изваяние это типичное программирование для бедных.

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

Но в целом я не понимаю зачем и нахрена. Текст действительно говно, но вам ненужно оно - вам нужен интерактивный текст. Там графики, репл. https://www.youtube.com/watch?v=Opu8iKkS6lo - что-то такое.

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

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

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

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

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

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

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

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

Сишная трансляция диаграммы будильника

Только очищающее ядерное пламя спасёт планету.

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

Вообще, если кроме шуток и стёба: сама идея графического программирования - вероятно очень хорошая и является будущим.

Все уже придумано до нас. Схемы программ появились и разрабатывались с 50х/60х, но вот не взлетели. При всей наглядности есть явные проблемы с выразительностью, проще и быстрее пару предложений прочесть, чем паутину из операторов пытаться разобрать. Но наверное это потому, что лабвью тогда не было, как у Печкина велосипеда. А вот теперь все как завертится. Ну вот ещё чуть-чуть. Не, ещё чуть-чуть. Ладно, не сейчас но на следующей итерации точно.

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

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

Там в код можно было вставлять 3д модели еще, для его игр неплохо смотрелось.

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

Еще на ДРАКОНе запрограммировали Буран, и все были довольны.

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

Думаю как-нибудь (уже на Метапроге) запилить подобный формат, но бинарный.

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

Все уже придумано до нас.

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

но вот не взлетели

Это именно то, о чём я и писал. Есть идеи, которые опрежают своё время. Это как попытки Леонардо Да Винчи сделать летательный аппарат в виде крыльев, приццепленных к человеку.

У нас теперь есть шепы виртуальный реальности, всякие там очки Гугл Гласс и другая подобная шняга. Если вместо долбания по клаве (которое, к тому же, не особо полезно для здоровья) можно будет стоя размахивать руками, изображая движения Цигун, сводя и разводя проводки, меняя масштаб, и всё это будет дополнено всякими шутками типа автоматической корректировки расположения блоков (оно и сейчас есть в софте для диаграмм) — будет агонь.

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

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

Все зависит от задач проекта и «контингент» users.
Сложные это вопросы «можно и так и эдак».

Владимир

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

Если вместо долбания по клаве (которое, к тому же, не особо полезно для здоровья) можно будет стоя размахивать руками, изображая движения Цигун

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

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

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

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

Есть идеи, которые опрежают своё время.

Да никакие это не опережающие идеи. Представить программу в виде графа операторов совершенно естественна, ничего новаторского нет.

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

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

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

Есть LabVIEW, которым я пользуюсь. Что тут непонятного?

ТС абстракций не признаёт и прёт прямо по низкоуровневым операторным схемам

Для софта практически любой сложности на LabVIEW мне хватает числовых типов, массивов, строк и кластеров. Достаточно повторить это на Метапроге - и уже можно будет делать многое. А если еще и плюшки типа структур условного выбора типа (которых нет в LabVIEW) сделать - будет вообще универсальная вещь.

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

Представить программу в виде графа операторов совершенно естественна, ничего новаторского нет.

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

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

Нет, на ДРАКОНе ничено не программировали для Бурана. Первое практическое применение ДРАКОНа относится к 1995.

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

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

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

Как-то не сочетается.

Достаточно повторить это на Метапроге

Да-да. «Всего десять тысяч ведер воды». Ты это уже почти год как пытаешься повторить, что-то всё никак.

anonymous ()

В треде Метапрог-5 вы говорили, что начали разработку стандартной библиотеки функций?
Алгоритмы функций не будут же разработаны с scratch?
Вопросов много …

Владимир

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

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

Сдерживает его распространение в основном копирастия. Но Лабвью позволяет мне работать с сетью, файлами, строками итд итп вообще не лазя в гугл и почти не читая мануалов! И я не прочитал ни одной книги, чтоб его освоить.

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

Я и сейчас от этих планов не отказываюсь.

Да-да. «Всего десять тысяч ведер воды». Ты это уже почти год как пытаешься повторить, что-то всё никак.

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

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

Кстати, про хейтеров славянского ПО Терри тоже хорошо всё рахложил по полочкам:

Ой, вот не надо приплетать сюда гениального безумца Терри. То, что у него в голове было — это одно, а хейтеры славянского ПО существуют в реальности, и это хорошо видно по ЛОРу. Любой дистрибутив линукса российского происхождения тут же вызывает волну истерии в духе «рашка, попилы, откаты, ненужно». Выходит новость про перевод какой-то документации — тут же «русский язык не нужен, линуксоид должен знать английский».

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

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

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

Вот с этим, кстати, соглашусь.

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

Любой дистрибутив линукса российского происхождения тут же вызывает волну истерии

Мы какие-то разные ЛОРы читаем, походу. Какую-нибудь Ubuntu или Arch хейтят в разы больше, чем Росу или Альт.

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

Здрасьте, Си разрабатывали 4 года профессионалы

Не помню кто именно, но кто то из них мог набирать по 2к строк в день, это нужно учитывать. Примерно две недели на ту игру из 29к строк %) Ну конечно там нужно многое учитывать, но все равно мощно.

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

Их так же много и хвалят. Просто они популярнее.

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

Ну и что тебе здесь непонятно? Для Бурана создали три языка — ПРОЛ2, ЛАКС и ДИПОЛЬ. Позже на их основе сделали ДРАКОН.

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

Любой дистрибутив линукса российского происхождения тут же вызывает волну истерии в духе «рашка, попилы, откаты, ненужно»

Проблема не в происхождении самого кода, проблема 1) в попытке приписать open-source-коду гражданство, 2) в попытке использовать «русскость» как PR-преимущество.

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

БЦВМ «БИСЕР-4» (1987 год) - бортовая 32-разрядная ЭВМ с четырехкратным аппаратным резервированием, разработки НИИЦЭВТ. Применялась в системе автоматического управления КА «Буран», на борту стояло два комплекта оборудования.

В тот период область применения ДРАКОНа была ограничена ракетно-космической техникой. Язык применялся и применяется в Пилюгинском центре при разработке программ для бортового компьютера «Бисер»[14], установленного на борту ракет-носителей и разгонных блоков космических аппаратов.

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

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

в попытке использовать «русскость» как PR-преимущество

Так это часто объективное преимущество для русских.

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

Язык применялся и применяется в Пилюгинском центре при разработке программ для бортового компьютера «Бисер»

Бисер-6. Бисер-4 ≠ Бисер-6

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

Хм, вот как. Потом то хоть действительно использовался?

insw ()

Интересный пример интерактивной разработки программы управления устройством Jet Mobile https://youtu.be/Opu8iKkS6lo?t=4097

Владимир

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

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

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

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

Ну и это оно и есть: чтд.

А что с новостями о книгах на русском языке?

А что с ними? С ними всё хорошо, если автор действительно пытается перевести, чтобы поделиться знаниями, а не чтобы написать манифест славянской культуры под видом книги по программированию, и намеренно заменяет устоявшиеся IT-термины своими собственными, опираясь на словарь Даля 1880 года выпуска.

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

хейтеры славянского ПО существуют в реальности

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

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

Ну и это оно и есть: чтд.

О чем ты вообще? Хейт метапрога за русский/украинский язык начался еще в первых темах. Они были практически год назад, еще задолго до моего комментария.

А что с ними? С ними всё хорошо

Наглое вранье.

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

В треде Метапрог-5 вы говорили, что начали разработку стандартной библиотеки функций?

Да.

Алгоритмы функций не будут же разработаны с scratch?

С нуля? Смотря какие, иногда проще использовать готовую сишную функцию. Планирую что-то типа стандартной библиотеки Лабвью.

Вопросов много …

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

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

ЯННП, но теперь я буду гордо носить титул «хейтер славянского ПО». Если разраб целенаправленно избегает default language, то ксенофобу бойкот, а поделию смерть забвением.

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

Ну зачем же такие оправдания, в метапроге можно использовать английский язык, просто там мультиязычность, и можно использовать украинский, русский (другие языки тоже можно). У хейтеров славянского ПО подгорает не из за отсутствия английского (который есть) а из за наличия русского, украинского.

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

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

Вопросов много …

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

Владимир

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

Примерно как в стандартной библиотеке Лабвью, но с поправкой на сишный бекенд. Сеть, массивы, строки, файлы, управление памятью и прочие сишные примочки...

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

Опять же, что вам мешает скачать и запустить Метапрог на Wine?

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

кем эти хейтеры являются (по большей части), можно прочесть в моем посте

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

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

Опять же, что вам мешает скачать и запустить Метапрог на Wine?

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

Владимир

anonymous ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)