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

Смею напомнить, что сделан был даже не C89.

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

Function

Через вставку? Жесть какая то.

Но ещё проще будет через ноду «inject»

А как узнать эт самое время?

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

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

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

Эм… Тебе общение с метапрогом сломало умение читать? Там в контекстной справке и параметрах ноды написано, что и как делать.

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

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

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

переворотов юникрдной строки

Реализуется одним лишь наличием принта в языке!

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

Там же нельзя установить время типо «в 6 часов утра...».

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

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

Смею напомнить, что во времена КиР писать софт было несоизмеримо сложнее - не было у кого на форуме спросить

Работали в НИИ с кучей коллег.

не было поиска в инете, не было нормальных языков, на которых можно писать компиляторы

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

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

Если б я за разработку Метапрога получал еще и сравнимую зарплату...

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

Да и С тот был больше похож на fasm для PDP. Один из первых компиляторов ~4к строк всего занимал, насколько я помню.

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

После 7 версии прототипа будет что показывать

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

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

Видел ли ты когда нибудь будильник выдающий факториал для каждой секунды?

Видел.

>>> def fact(n): return reduce(lambda x,y: x*y, range(2, n+1)) if n > 1 else 1
... 
>>> for _ in range(60): time.sleep(1); print(fact(time.localtime().tm_sec))
... 
20397882081197443358640281739902897356800000000
815915283247897734345611269596115894272000000000
33452526613163807108170062053440751665152000000000
1405006117752879898543142606244511569936384000000000
60415263063373835637355132068513997507264512000000000
2658271574788448768043625811014615890319638528000000000
119622220865480194561963161495657715064383733760000000000
5502622159812088949850305428800254892961651752960000000000
258623241511168180642964355153611979969197632389120000000000
12413915592536072670862289047373375038521486354677760000000000
608281864034267560872252163321295376887552831379210240000000000
30414093201713378043612608166064768844377641568960512000000000000
1551118753287382280224243016469303211063259720016986112000000000000
80658175170943878571660636856403766975289505440883277824000000000000
4274883284060025564298013753389399649690343788366813724672000000000000
230843697339241380472092742683027581083278564571807941132288000000000000
12696403353658275925965100847566516959580321051449436762275840000000000000
710998587804863451854045647463724949736497978881168458687447040000000000000
40526919504877216755680601905432322134980384796226602145184481280000000000000
2350561331282878571829474910515074683828862318181142924420699914240000000000000
138683118545689835737939019720389406345902876772687432540821294940160000000000000
1
1
2
6
24
120
720
5040
40320
362880
3628800
39916800
479001600
6227020800
87178291200
1307674368000
20922789888000
355687428096000
6402373705728000
121645100408832000
2432902008176640000
51090942171709440000
1124000727777607680000
25852016738884976640000
620448401733239439360000
15511210043330985984000000
403291461126605635584000000
10888869450418352160768000000
304888344611713860501504000000
8841761993739701954543616000000
265252859812191058636308480000000
8222838654177922817725562880000000
263130836933693530167218012160000000
8683317618811886495518194401280000000
295232799039604140847618609643520000000
10333147966386144929666651337523200000000
371993326789901217467999448150835200000000
13763753091226345046315979581580902400000000
523022617466601111760007224100074291200000000
>>> 

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

Зато факториалы смотри какие классные.

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

Ты явно не представляешь себе сложности написания компилятора с нуля, тем более на асме.

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

liksys ★★★★
()

Антиметапрог v0.6P

Инновационное графическое программирование уже не фантастика, это реальность.

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

Из основных преимуществ.

  1. Полная сверх-абстракция. Видишь утку, значит это утка.
  2. Программа выполняется в голове, компьютер не нужен.
  3. Без текста.
  4. Преодолевает принцип Фон Неймана и нет.
  5. Сверх высокий уровень безопасности.
  6. Вы IDE. Больше никаких ограничений.
  7. Любые Mind-keys, полная настраиваемость.
  8. Новый инструмент «Не верю», для преодоления физических законов.
  9. Поддержка всех существующих стандартов и будущих тоже.
  10. Славянская разработка.

Для запуска первой в своём роде программы стоит лишь перейти по ссылке:

https://i.imgur.com/vkImkEL.jpg

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

Не так уж и сложно: профессиональные программисты, за 4 года, с зарплатой в тысячи баксов, на знакомом ассемблере. В Си из него перекочевали даже нуль-терминированные строки. Я ни в коем случае не сомневаюсь в заслугах K&R, но твои рассуждения об одинаковых и даже «тепличных» условиях с неодинаковой зарплатой выглядят глупо. Большинство кодеров без зеленых бумажек (или биткоинов) и пальцем вряд ли пошевелит.

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

И не лень тебе рисовать было…

Оставили бы ТСа в покое — глядишь, он что-нибудь бы быстрее родил. Или наоборот, разочаровался и бросил…

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

Среда разработки будильников

Сениор будильник девелопер

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

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

Чё за сказки то, фруфы есть?
На 4 год Си это уже не твоё поделие, почти полностью переписанное на нём ядро Unix. И уж какие там «программисты», нигде не сказано что там больше 2 человек работало.

с зарплатой в тысячи баксов

То ты «не бомж», что бы запустить labwiev за 3к$ просто «поиграться», теперь оказывается метапрог опять, пускает слюни на чужие деньги.

Пойми метапрог, все эти великие люди в мире IT не ради зарплаты в сотни тысяч всё это создавали, и уж как ты точно не попрошайничали донаты на улице.

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

Оставили бы ТСа в покое — глядишь, он что-нибудь бы быстрее родил. Или наоборот, разочаровался и бросил…

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

он что-нибудь бы быстрее родил.

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

Метапрог это уже ЛулзИнГрафик, никто не может разобраться даже в будильнике, большинство предпочитает просто словить угар.

Или наоборот, разочаровался и бросил…

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

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

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

Эх, заставить бы тебя попрограммировать на твоих фантазиях…

Это в сотни раз проще сделать с человеком, чем заставить его программировать на метапроге.

И это статистические данные, за почти год твоего метапрога, ты нашёл лишь 1 бедолагу.

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

Как вообще открытый софтовый проект может быть «местечкового производства»?

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

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

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

О,отличная идея делать стебные локали!

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

за 4 года

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

профессиональные программисты

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

Большинство кодеров без зеленых бумажек (или биткоинов) и пальцем вряд ли пошевелит.

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

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

Ладно, я не буду этот твой бред опровергать. Тем смешнее будет очередной твой обсёр.

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

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

https://www.youtube.com/watch?v=rWjk4-Y4FQk

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

использовавший название «файловый приказчик» в интерфейсе своей программы.

У него там УНИТАЗы повсюду, «приказчик» — это ещё цветочки.

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

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

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

Удваиваю.

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

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

Может ты, как единственный осиливший, описание языка напишешь? Из чего вообще состоит программа, есть ли модули, какие типы квадратов и проводков поддерживаются, и какие из них что делают… А @metaprog посмотрит и укажет на ошибки. Вот это то, что другие люди могли бы почитать и чего-нибудь подсказать, может, даже сэкономят метапрогу дурную работу.

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

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

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

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

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

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

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

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

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

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

Автоматическая сериализация-десериализация по определению типа - и ничего не надо разбирать.

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

Как можно украсть Лабвью без диска? На флешке? С харддиском? С компьютером?

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

А твоё использование этой копии, лишь всё усугубляет.
Ты просто в очередной раз показываешь свою сущность как человека - «Украсть, по-быстрому наваять и просить донатиков».

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

А все твои рассуждения по поводу «копирастов» это уже 10-ое, копираст тоже работает, если тебе не нравится как, и почему - не покупай. Ты же просто своровал.

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

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

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

Ты так ничего и не понял. Ясно.

Описание языка — это даже близко НЕ эквивалент интерактивных обучалок, чатов и др. И даже не эквивалент справочной системы, как ни странно. (Хотя некоторые формулировки в справочной системе, да, могут быть взяты из описания языка.)

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

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

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

О боже, ты откуда такой «умный». Кражей является сам факт использования тобой лабвью без разрешения создателей, а разрешением выступает факт покупки тобой лицензии. Соответственно «Лицензию не купил и пользуешься» = украл.

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