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

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

Везде, везде это работает. Я для разнообразия даже сходил для тебя в гугл. Держи, изучай: https://habr.com/ru/post/444594/ и https://habr.com/ru/post/188010

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

Мне вообще смешно, как он выставляет грудь колесом: «Я занятой, несите мне информацию, иначе я не сделаю великий метапрог!» А между тем, метапрог никому не нужен, кроме клоуна-котечки.

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

На сях давно не пишу. На Питоне ради бога. Будет время на работе завтра - набросаю

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

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

Вы же необучаемый дворник.

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

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

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

Кстати, а на паскале (Delphi, FPC) ты что-нибудь делал? Уж там с типизацией всё строго, и для прикладнухи он полегче, чем сишечка.

Писать на Делфи доводилось. Вещь неплохая, интерфейсы накидываются быстро, но Лабвью все же куда лучше.

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

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

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

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

Откуда Вы знаете что в С зло, если Вы не асилили толком ни один текстовый ЯП и не написали ничего сложнее хеллоуворлда?

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

я не обязан вас учить и искать информацию за вас

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

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

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

И ни на кого кроме инженеров они не нацеливаются.

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

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

Не твоя личная армия.

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

он и котечке не нужен, котечка просто лолирует со всего (натура такая + когда если не сейчас, пока молодой и шутливый) это же очевидно :)

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

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

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

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

Ни разу в жизни не воспользовавшись ни тем, ни тем.

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

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

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

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

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

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

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

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

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

«хамье, зачем вам подорожная - вы же неграмотны!»(с) дон Румата Эсторский.

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

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

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

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

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

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

За LabVIEW регулярно отваливают тысячи баксов, а за твоё поделие — нет. Это всё, что нужно знать, чтобы сравнивать.

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

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

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

На Лабвью я делаю сложный софт

А 11 летние шпаны строят сложных роботов в робокружке.

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

На Лабвью я делаю сложный софт

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

Это я Вам отвественно говорю как человек уже дцать лет ведущий в МФТИ спецкурс по программированию.

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

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

Ага, каждый год все новая скриптуха, все переучиваться и перучиваться. Меня такой порядок не устраивает. arturianec100 писал в ответ царю:

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

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

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

очевидные косяки которые вы и сами понимаете

Не обольщайтесь…:-(

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

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

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

Полиграф Полиграфович

Меня так не зовут.

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

Да-да, и пойти учить недоязыки типа питона.

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

На Лабвью собрал, в среднем каждая из 10 итераций занимает 30 секунд без ощутимого потребления памяти (в пределах 10 мегабайт):

А где это видно на картинке ниже, опять на слово вам верить? Да и какой смысл в этом тесте если это не метапрог?

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

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

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

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

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

Какой еще говнопрог? Если ты называешь так на Метапрог, то ничего я тебе доказывать вообще не обязан. Иди лесом.

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

Меня так не зовут

Так звали литературного героя которой вылитый Вы.

Да-да, и пойти учить недоязыки типа питона.

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

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

Не твоя личная армия.

Тогда тебе со мной говорить не о чем.

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

Опять таки, на Вашем уровне развития Вы не можете отличить ахинею от чего то разумного.

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

Котечка лолирует с антиметапрогеров. И вообще он попросил о нем не писать пока он в бане, поскольку подло обсирать человека, когда он не может ответить на ложь.

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

Афигеть! И как реализована сборка мусора в этом массиве?

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

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

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