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

Зато понятно откуда вот это все: «я патентовед! я математик! я энергетик! Я открыл! я изобрел! все дураки, а я дартаньян! умножение это возведение в степень! Кругом враги!» (рыбников)

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

На вопрос про бомжа ответь

Аналогия неуместная.

Он вообще ничего не опроверг, лишь повторял одни и те же утверждения и постоянно врал

Примеры? Или сам врешь.

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

Котечка передает ответ: https://pastebin.com/raw/PUKyZEzR

отсутствие многопоточности (threads) в питоне

Тебе уже популярно и на пальцах объяснили, что она есть.

Да-да, через форк процессов или код на Си. Костылинг на уровне.

с кучей PyObject

И снова: я объяснял, зачем это нужно.

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

Они не оптимизированные, а примитивные. Это все еще си в кружочках. Как только ты попробуешь писать сложный софт, проблемы отсутствия абстракций и высокоуровневых объектов, встанут в полный рост

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

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

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

Ведь в отличие от нас, этот клоун поддерживает все твои начинания

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

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

Вот сделал я прототип Метапрога и Метапрог онлайн с сервером к нему на Лабвью. Моих знаний для этого хватило. Чему мне еще, черт побери, учиться?!

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

таблицу умножения

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

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

Моих знаний для этого хватило.

Моему племяннику 11-летнему хватило «знаний», чтоб собрать робота, который ищет красные бумажки на полу.

Кстати тебе, как и ему «знаний» хватило именно потому, что

Потому что нагородили кучу абстракций

Без этих абстракций и ты не программист, и он не роботостроитель, да.

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

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

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

Аналогия неуместная.

Это мне решать.

Примеры?

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

Или сам врешь

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

Да-да, через форк процессов или код на Си. Костылинг на уровне.

Иными словами, ты нихрена не понял.

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

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

В Лабвью я прекрасно обходился без объектных абстракций сложнее типов и кластеров

Других абстракций. Например тех, с помощью которых ты строишь гуй.

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

А на мнение людей, не желающих проекту успеха, мне плевать

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

Вот сделал я прототип Метапрога и Метапрог онлайн с сервером к нему на Лабвью. Моих знаний для этого хватило. Чему мне еще, черт побери, учиться?!

Я много раз уже объяснял и не буду повторяться. Ты сделал простые вещи из высокоуровневого конструктора. Открытия тебя ждут, когда ты попытаешься сделать мертвопрог сам на себе. Вот тогда начнется настоящее веселье ;)

Котечка передает ответ

Ответы этого дурачка меня не интересуют.

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

отсутствие многопоточности (threads) в питоне

Тебе уже популярно и на пальцах объяснили, что она есть.

Да-да, через форк процессов или код на Си. Костылинг на уровне.

Давай, если у меня получится создать нити в питоне (без трюков с ctypes), ты заплатишь мне $1000. Согласен?

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

Если кратко там весь код одна большая глобальная переменная.

Если пообстоятельнее то вам уже как минимум два человека пояснили за глобальные переменные, глобальность более широкое понятие чем то, о чем вы думаете от отсутствия опыта. Подучу вас еще немного так и быть, есть такой паттерн, точнее антипаттерн как Синглтон, он тоже является глобальным по сути, и ничем не лучше глобальных переменных. Вы просто не волочете в предмете и пытаетесь спорить с людьми которые в отличии от вас хотя бы работали где-то в качестве программистов и что-то читали относительно программирования и имеют реальный опыт. Как вам уже отписался @liksys и многие до него и после него, чтобы понять почему ваша текущая реализация унылое говно, надо чтобы у вас задачи были не «будильник», а что-то посерьезнее, тоже самое и относительно вообще программирования и в частности программирования на С. Вам этот С еще 100 раз боком вылезет, если вы конечно сдюжите из говна и палок сделать свой работающий «прототип».

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

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

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

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

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

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

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

Было такое да. Тоже с мобилы искать неудобно

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

Сдачу на базаре я таки считаю в уме

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

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

Не, ну вдруг… Я не теряю веры в людей.

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

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

Между прочим, конкретно в этом пункте я с ней согласен.

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

Никакой лжи о нем нет. У него галлюцинации. Очернения тоже нет: как себя вел, такую репутацию и заслужил.

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

Ну есть ещё перлы от котечки, что воровство в магазине - это нормально. Пруфы в поиске iswn по слову магазин в темах про метапрог. Вы вот переживаете за лицензионную чистоту этого проекта а один из отцов-основателей говорит что воровать это норма. Разве это норма?

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

Не, оправдывать антисемитизм коти русофобией оппонентов не выйдет.

Я не оправдываю. Просто объясняю, откуда такое берётся.

Тем более что я слова против русских нигде не сказал

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

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

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

История 20го века убедительно показывает, что если кто то шутит про нацзаговоры и засилье каких то там нацменов - это нифига не шутки. Котя может не знать этого в силу общей необразованности, но мне блин нифига не смешно. Так что «помирится» не получится - я с ней не ссорился, мне просто глубоко омерзительна ее позиция по этим вопросам. Что бы мое отношение изменилось придется измениться коте, а для этого ей придется пойти учиться - что представляется немыслимым.

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

А зачем Вы его до конца смотрели?:-)

Мне хватило гугления трудов этого мегаучОного, там такие афигенные картинки….

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

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

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

Приношу извинения.

Да я ниче такого не имел ввиду, но все равно принято:-)

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

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

А правильно считаете? Это же лютый матан…

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

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

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

@hobbit @abcq @AntonI хочу отдельно заметить, что человек с проблемами гендерной идентичности НИКОГДА не будет в качестве усмешки менять пол другого человека, чем котечка вместе с метапрогом частенько грешили (баба ликсуся (я) и тетя ирина (@i-rinat)). Поэтому призываю хер забить на все просьбы котечки именовать его женским полом, потому что это просто очередная тупая клоунада.

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

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

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

Ну у меня не возникло иллюзии его разумности

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

Это мне решать.

ЧСВ, конечно, завидное. Но и у меня его хватает, поверь.

Да-да, через форк процессов или код на Си. Костылинг на уровне.

Иными словами, ты нихрена не понял.

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

высокоуровневые кубики лабвью - это и есть абстракции

Стандартная библиотека. То, что сейчас начинает делаться на прототипе Метапрога.

Других абстракций. Например тех, с помощью которых ты строишь гуй

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

никто мертвопрогом так и не пользуется

А что за «мертвопрог»? Я о таком даже не слышал.

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

Если кратко там весь код одна большая глобальная переменная.

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

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

В процессе. Хочешь ускорить - присоединяйся:)

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

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

Прототип Метапрога я сделал на Лабвью, пользуясь в основном только системой типов и кластерами (аналог структуры), сохраняемыми в тип.

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

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

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

А правильно считаете?

Правильно, с точностью до копейки.

Это же лютый матан…

Тот, который нужен на практике в реальной жизни, только и всего.

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

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

Я тоже, но Котечке зочется поприкалываться, только и всего:)

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

ЧСВ … и у меня его хватает, поверь.

Да мы уж видим. Фатальное количество. На вопрос отвечай.

Тормознутый интерпретатор

В каких кейсах?

сверховерхедный транслятор

В виде чего?

абстракций ради абстракций

Ты опять бредишь.

Стандартная библиотека. То, что сейчас начинает делаться на прототипе Метапрога.

Абстракции. Их ты и делаешь. Ими ты и пользуешься.

Гуй можно и без ООП делать

Нет. В неявном виде объекты или похожие на них вещи присутствуют всегда.

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

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

А что за «мертвопрог»? Я о таком даже не слышал.

Дурачка выключай.

Назови какие из них глобальные. Или признай, что их нет и ты ошибался.

Спасибо, посмеялся от души.

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

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

ЧСВ

Да мы уж видим. Фатальное количество

На самом деле, у меня его даже слишком мало. Я опускаюсь до конструктивных ответов на неконструктивную критику.

На вопрос отвечай.

А что за «мертвопрог»? Я о таком даже не слышал.

Дурачка выключай.

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

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

На самом деле, я прекрасно понимаю

А мы и не знали!

Извиняйся или ответов не получишь.

Ты мне условия собрался ставить? Отвечать - в твоих же интересах. Каждый твой неответ еще больше втаптывают твою репутацию в грязь.

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

А твое поделие заслужило только «мертвопрог». Продолжай в том же духе.

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

Правильно, с точностью до копейки

А как Вы это проверяете?

Тот, который нужен на практике в реальной жизни, только и всего.

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

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

все отрисовывается своими функциями, собирающими 2-мерные массивы из пикселей.

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

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

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