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



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

В наше время умом считается просто объём памяти

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

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

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

Эти пять элементов остались в прошлом. Сейчас все состоит из чипсов, колы, жвачки, водки и кефира.

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

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

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

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

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

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

Эти пять элементов остались в прошлом. Сейчас все состоит из чипсов, колы, жвачки, водки и кефира.

5 стихий, 5 элементов, 5 колец. Всё в прошлом. Но свойство чувствовать время есть только у сознания, а остальное вообще не имеет о нём понятия, так что всё это в настоящем, братан. Всё в порядке. Можешь пить водку с кефиром. А можешь оттачивать 5 стилей владения мечом.

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

Есть нюанс - Вы не то что на Галилея, Вы на младшего помощника ассенизаторов эпохи Галилея не тянете.

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

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

Вам плевать на на авторитеты? Это очень хорошо и правильно, но вот только абсолютно всем плевать на Вас с Вашим метапрогом. Задумайтесь - нет ни одного человека на земле (кроме может @insw - вхлам упорототого на альтернативной физике нацика) который бы сочувствствовал Вам в Ваших метапроговских исканиях…

Сколько Вы получили донтатов? Доллар? Два? Это ровно та сумма которой Ваш метапрог стоит.

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

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

Извращенная фантазия антиметапрогеров во всей красе.

metaprog, что тебе больше по душе, порнохаб или шпалы?

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

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

Погуглите abstract syntax tree. Фактически Вы это дерево рисуете мышкой, а в нормальных ЯП это дерево восстановливается из текста. Дальше все тривиально, но никаких СУВТ там не нужно.

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

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

App Inventor
Scratch CFC (Continuous Flow Chart)

В MIT свое извращенное понимание графического программирования. Всего лишь паззл, похожий на текст.

thyrd

Какие-то квадратики. Где проводки с данными? Как делать софт, сравнимый по сложности с прототипом Метапрога?

Sketchware

То же самое, только на смартфон.

Дракон

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

LabVIEW

Единственная нормальная среда визуального программирования. Я в Метапроге беру с него пример, но Метапрог все же далеко не похож на его копию.

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

Извращенная фантазия антиметапрогеров во всей красе.

Об извращенной фантазии нам рассказывает тот, кто делает на лабвью метапрог, который работает только под виндой или вайном.

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

Возьму стул с пиками, срежу члены, пики сломаю)))

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

В MIT свое извращенное понимание графического программирования

Ну куда уж MIT с их пониманием до анонимного шпалоукладчика с лора.

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

Кто щас в столбик считает? И где?

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

Предпочитают считать в столбик?

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

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

И поверь многие из них в программирование знают на порядки побольше тебя.

Охотно верю. Кстати, мне на это насрать.

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

Для аналитического матана мел и доска (бумага и ручка), конечно, полезны

LaTeX ещё полезнее. А то что я не могу посчитать в уме я считаю в питоне. Где тут мето графическому программированию?

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

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

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

За год от тебя кроме вымогательств доната я ничего не увидел

Скачал бы Метапрог - увидел бы прогресс в разработке.

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

Эйнштейн и Дирак бы напряглись, будь они живы.

«А где у нас прокурор? Прокурор в четвертой палате.»(с)

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

То ли дело скриншоты метапрога, 10 квадратов и 100 предложений с пояснениями.

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

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

мы там что-то делали на ЛабВью, какие-то дата-эквизишн. Оно с железом ихним вполне норм, экспериментаторы активно юзают всё это дело

Оно не только с фирменным железом норм, на нем можно много чего. Но свои тараканы есть - чисто из-за закрытости и пропиетарности.

Но metaprog, тащить это в общее программирование - это маразм

И почему же?

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

LaTeX ещё полезнее. А то что я не могу посчитать в уме я считаю в питоне. Где тут мето графическому программированию?

Вам по душе БДСМ с пописыванием формул в тексте, мне - маткад. Пропиетарое поделие, но думаю рано или поздно сделать на Метапроге опенсорсную замену для него. И на основе этого заменителя сделать матановые вставки в Метапрог-диагарммы.

Вы квадратное уравнение решить не смогли

Смог.

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

Скажите для начала то вы понимаете под СУВТ.

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

чисто из-за закрытости и пропиетарности

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

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

Погуглите abstract syntax tree. Фактически Вы это дерево рисуете мышкой, а в нормальных ЯП это дерево восстановливается из текста

Я непосредственно рисую собираю AST в диаграммах. Это же супер! Даже по картинке из вики https://ru.wikipedia.org/wiki/Абстрактное_синтаксическое_дерево понятно, что оно куда нагляднее текстового представления. И транслятор/компилятор будет проще. Мой транслятор диаграмм в сишный код как раз ходит по проводкам между блоками, по которым гнерирует код.

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

[off]

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

По мотивам https://www.youtube.com/watch?v=i_HnSpOLJrc [/off]

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

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

Ваш транслятор это унылое г-но с СУВТами. Под СУВТ я понимаю ровно то что Вы писали

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

Вам по душе БДСМ с пописыванием формул в тексте, мне - маткад.

Поскольку Вы не асилили даже квадратное у-е Ваше мнение на эту тему абсолютно нерелевантно.

Смог.

Нет.

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

Я непосредственно рисую AST в диаграммах. Это же супер!

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

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

Тсс, не палите контору!

Самое смешное что я делал конвертер в аст и дальше для разных научных расчетов на питоне. И я прям предвкушаю как щас ТС выдаст лулщов про аст больше чем по физике…

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

Квадратное уравнение успешно решается, корни находятся с заданной точностью.

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

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

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

Дык обострения сменяются периодами ремиссии

Очередной диванный психиатр.

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

У тебя не было практики работы с текстовыми языками.

И без нее я сделал прототип метапрога на Лабвью. И Метапрог онлайн и сервер для него. Как так?

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

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

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

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

Только вот тем что Вы сделали никто кроме Вас и упоротого @insw пользоваться не может. Как так?

Впрочем вернемся к AST. Вот пример http://a-iv.ru/trash/If.pdf для кода python

if a>0: b = c+d
else: b = random()

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

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

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

Скажи спасибо, что тут с тобой вообще разговаривают, а не отправили в баню за спам и оффтоп.

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

И без нее я сделал прототип метапрога на Лабвью. И Метапрог онлайн и сервер для него. Как так?

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

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

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

Это уже будет не AST, и эффективность этого метода крайне низка.

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