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)

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

Включил параллелизацию выполнения итераций самого «тяжелого» цикла и заменил функцию, делающую поиск по строкам: https://i.postimg.cc/9WFTQF1D/image.png

Какой же жуткий ужас диаграмма по ссылке. Вообще ничего не понятно. :(

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

Как Носитель Сакральных Знаний и проФФесор сферического матана в вакууме это объяснит?

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

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

Это Вы еще диаграммы для решения квадратного уравнения не видели…

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

Там не указано конкретное место утечки на конкретной диаграмме.

Где там была речь вообще о диаграммах? Тебе было сказано, что многократный вызов init ведет к утечке памяти – это бага, стопроцентная бага. И без всяких диаграмм понятно.

Ты это исправил?

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

Это только на первый взгляд. Надо именно водить мышкой по элементам диагарммы и проводкам с включенной контекстной справкой (context help) - сразу все станет понятно.

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

Давай донаты, помогай проекту или иди в жопу.

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

Вы ходите прямо по краю… Скоро так и в «антиметапрогеры» записаны будете. Если подтруниваете, делайте это деликатнее, как котечка, чтобы казалось что вы не «антиметапрогер».

Опять же это все потому что вы не можете потыкать мышкой, когда тыкаешь мышкой во все это даже читать документацию не надо все и так понятно, вот честно признайтесь… вы же не тыкали да?

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

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

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

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

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

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

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

Я от своих слов не отказываюсь. Но это мои слова, где же твои? Или у Носителя Сакральных Знаний закончился словарный запас?

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

Нет. Качай Метапрог и предлагай патч.

Нет. Сначала выкати версию метапроги без всяких левых рантаймов.

"— Нет, не возьму.

— Но почему Вы отказываетесь?

— Не хочу.

— Вы не сочувствуете детям Германии?

— Сочувствую.

— А, полтинника жалко?!

— Нет.

— Так почему же?

— Не хочу."

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

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

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

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

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

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

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

решать за вас ваши проблемы разве что котечка жаст фор лулз и готов

Демпинговать не хочешь, значит? И Котечку за это презираешь?

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

Тем не менее Вы тянете только на дворника.

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

Серенада солнечной долины?

Всего лишь цитата из одного литературного произведения.

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

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

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

https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BC%D0%BF%D0%B8%D0%BD%D0%B3

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

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

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

Всего лишь цитата из одного литературного произведения.

Помню только что в Серенаде солнечной долины что-то было про детей Германии. Ото относительно нормальное искусство. А вот «русскую классику» я почти не читал - и не думаю, что многое потерял.

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

А что ТЫ сделал для того, чтобы приблизить релиз Метапрога «на самом себе»?

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

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

Типа помогая моему проекту «за просто так» ты обесцениваешь свои столь дорого стоящие Сакральные Знания - такова логика антиметапрогеров?

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

А что ТЫ сделал для того, чтобы приблизить релиз Метапрога «на самом себе»?

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

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

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

А вот «русскую классику» я почти не читал - и не думаю, что многое потерял.

Конечно не думаете - это для Вас не характерно

– как по украински будет кот?
– кит.
– а кит?
Так он обиделся и больше со мной не разговаривает.

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

интересно через какой ассоциативный ряд это стало демпингом :)

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

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

На самом деле, по приколу прочитал Булгакова «Роковые яйца» - понравилось. Еще прикольно смотрится «Ревизор» Гоголя в театре. Но в целом «русская классика» - тоска зеленая. У нас она шла как зарубежная литература, и я всячески старался ту муру не читать. Не знаю как сейчас, надеюсь отменили. А вот детям из России я не завидую - им еще мучиться и мучиться.

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

Помню только что в Серенаде солнечной долины что-то было про детей Германии. Ото относительно нормальное искусство.

Вообще, он снимался как рекламный фильм сабжевого курорта. Если бы не гениальная музыка Глена Миллера — про фильм бы давным-давно забыли.

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

А вот детям из России я не завидую - им еще мучиться и мучиться.

Да Вы и программистам не завидуете, он же на текстовых ЯП пишуть… а Ваша способность к работе с текстом и анализу текста всем известна.

На деле нынешняя украинская литература это часть русской, а Булгаков вообще то мог бы претендовать на роль нынешнего укролитератора, кабы не его Белая Гвардия - ЕМНИП а Украине нынче запрещенная.

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

У нас она шла как зарубежная литература

И «Вечера на хуторе близ Диканьки» того же Николая Васильевича — зарубежная литература?

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

И «Вечера на хуторе близ Диканьки» того же Николая Васильевича — зарубежная литература?

Да. По крайней мере в мои времена (я школу закончил в 2004)

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

На деле нынешняя украинская литература это часть русской

Украинская литература в основном советская. В СССР выбрали писателей, которые во времена РИ против царизма писали, и ввели их в школьную программу под соусом «смотрите, как люди страдали, пока советская власть их не освободила». При независимости писатели остались те же, только толкование сменилось «смотрите как люди страдали, когда украина не была независимой».

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

Ну советская для меня синоним русской (не в смысле национальности а смысле страны).

А как делалась литература малых народов при СССР мы все в курсе;-)

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

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

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

Мне удалось оптимизировать бенчмарк на Лабвью, в среднем проходит за 8,4 секунд

Включил параллелизацию

Ради смеха распараллелил скрипт @saibogo, запустил через pypy3, и вместо 11,5 секунд он стал выполняться за 2,1–2,3 секунды.

Твой лабвью сосёт в распараллеливании. Ну или ты — анскильная лалка. Выбирай сам.

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

Твой лабвью сосёт в распараллеливании

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

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

Ты предал LabVIEW. Принёс его в жертву. И ради чего? Чтобы не прослыть анскильной лалкой?

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

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

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

Но в целом «русская классика» - тоска зеленая.

«Война и мир», «Преступление и наказание» явно не для детских умов, непонятно зачем их в школьную программу пихали.

А вот детям из России я не завидую - им еще мучиться и мучиться.

Математика, Петерсон, жесть оцинкованная, «Сколько стоят матрешки». Не только дети мучаются, но и их родители.

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