LINUX.ORG.RU

Метапрог-прототип, версия 5

 , ,


1

2

Следующий релиз

Метапрог-прототип, версия 6 + будильник на Метапроге

Скачать:

https://www71.zippyshare.com/v/flBFevsS/file.html

В архив добавлены скомпилированные ехе: теперь прототип Метапрога и Метапрог онлайн можно запустить без LabVIEW, в том числе под линуксом через Wine (скрин: https://ibb.co/0XTVx6F инструкции: Метапрог-прототип, версия 5 (комментарий)).

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

Из нереализованного - схождение данных из двух и более веток условий. Подробнее:

Метапрог-прототип, версия 4 (комментарий)

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

Запись интерактивной обучалки и создание сишной вставки для стандартной библиотеки Метапрога

https://streamable.com/rgk86

Выход из записи обучалки (под конец, когда происходит ее сохранение на диск) по кнопке Esc.

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

Предыдущий релиз прототипа:

Метапрог-прототип, версия 4



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

[ ] - сделать сайт

[ ] - завести репу на github’е

[ ] - вести себя прилично с людьми

[ ] - прислушиваться к чужому мнению

[ ] - следовать срокам

[ ] - не отрицать уже существующие технологии

[ ] - не срезать углы

[ ] - читать книги, мануалы и т.д.

[ ] - не концентрироваться только на одном форуме

[ ] - сделать на бумаге драфт того, что хочешь получить в итоге

[ ] - набрать команду разработчиков

Что из этого противоречит графическому программированию, что ты избегаешь простых и понятных пунктов по раскрутке своих наработок?

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

Голосом старухи из Fallout:

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

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

(so !E is the same as (0==E))

Тут как бе нет гарантии, что будет именно 1. Там есть гарантия что будет не ноль.

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

Тут как бе нет гарантии, что будет именно 1. Там есть гарантия что будет не ноль.

«Its value is 1 if expression evaluates to a value that compares equal to zero»

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

The logical NOT operator has type int. Its value is ​0​ if expression evaluates to a value that compares unequal to zero. Its value is 1 if expression evaluates to a value that compares equal to zero. (so !E is the same as (0==E))

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

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

Сенсей

Эээ… шта?

Так вот, !i в данном случае всегда будет единице, это чем-то гарантируется

Гарантируется, что будет либо 0, либо 1.

Вот открыл сейчас n1570.pdf, это какой-то из последних черновиков стандарта C11. Там в 6.5.3.3 п.5 написано:

The result of the logical negation operator ! is 0 if the value of its operand compares unequal to 0, 1 if the value of its operand compares equal to 0. The result has type int. The expression !E is equivalent to (0==E).

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

Спасибо, анон.

Тут как бе нет гарантии, что будет именно 1

Its value is 1 if expression evaluates to a value that compares equal to zero.

Вот это гарантирует, если я правильно понимаю.

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

Тут как бе нет гарантии, что будет именно 1.

6.5.9 п.3, результат сравнения будет либо 0, либо 1.

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

Угум-с, спасибо.

Эээ… шта?

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

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

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

лол. Скрестить бы этих двух - интересно на результат посмотреть )

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

Бриклберри: эпизод Белзайка

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

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

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

Главное чтоб сертификацию в ISO прошло.

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

Тоже об этом подумал(в смысле, о стандарте в комиксах)

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

Это метапрограммирование.

А ты просто не в теме. Пока.

anonymous
()

Умеет ли метапрог умножать на ноль? Думаю, эта функция поможет привлечь как минимум одного разработчика в проект

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

Unreal Engine

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

https://docs.unrealengine.com/en-US/Engine/Blueprints/UserGuide/FlowControl/

https://docs.unrealengine.com/Images/Engine/Blueprints/UserGuide/FlowControl/...

Цикл while через задницу: для реализации нужна локальная перменная counter. Они даже дополнительную схемку сделали чтоб было очевиднее чем их «графическая» unreal engine - что за люди? Скепсис некоторых людей по поводу графического подхода еще можно понять, когда они видят что-то подобное.

Но в Лабвью циклы куда красивее и очевиднее (почти та же схема):

https://i.postimg.cc/MHGbLyyN/while.png

Эту схему, конечно же, городить бессмысленно (она возвращает значение лимита), но я просто повторил пример из unreal engine.

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

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

[ ] - сделать сайт

Позже, когда руки дойдут и Метапрог будет более стабильным.

[ ] - завести репу на github’е

Руки не дошли разобраться с гитом. И гит заточен под текстовый код, от него мало будет толку с бинарными файлами диагармм на Лабвью и даже Метапроге. Тут нужна своя система контроля версий, которая уже есть и работает через Метапрог онлайн. На гитхабе/гитлабе есть смысл выкладывать разве что сишные трансляции для компиляции «настоящего» Метапрога (когда он будет готов).

[ ] - вести себя прилично с людьми

Теми, кто этого заслуживает

[+] - прислушиваться к чужому мнению

Да, insw?

[+] - следовать срокам

Где я давал сроки, которые не выполнил? «Месяц-другой» - не точный срок и он был называ не в формате обещания. И то вместо Метапрога «на самом себе» я выложил хотя бы прототип. Который пообещал выложить 24 августа - и выполнил обещание.

[ ] - не отрицать уже существующие технологии

Зачем тогда делать новые?

[+] - не срезать углы

У себя дома не срезаю.

[+] - читать книги, мануалы и т.д.

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

[ ] - не концентрироваться только на одном форуме

Этот более живой. Но надо будет еще другие попробовать. Не подскажешь какие еще есть живые ИТ и линукс-форумы?

[ ] - сделать на бумаге драфт того, что хочешь получить в итоге

2020 год на дворе.

[+] - набрать команду разработчиков

Да, insw?

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

тебя

Это потому что я чёрный?!

там подписать

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

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

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

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

Я тебя спросил, почему же ты ничего на метапроге не пишешь.

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

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

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

Да, это так. Я был не очень уверен в уместности своей шутки.)

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

Я дорабатываю nuklear/nuklear_cross для проекта, а то в нем баги встречаются, файлового диалога нету, и так далее. В разработке прототипа я не участвовал, так как это нужно делать на LabView.

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

Я дорабатываю nuklear/nuklear_cross для проекта

Странно, что @metaprog не в курсе. :-D

У вас там уже в команде из двух человек проблемы с коммуникацией?

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

Он в курсе.

Метапрог-прототип, версия 5 (комментарий)

Почему-то он так не считает.

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

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

Нет, вообще всем проектом целиком. Судя по проблемам с переворотом строки, от тебя помощи там будет мало. Проще будет тебя из проекта исключить.

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

Ну делай свой Метапрог, если он меня устроит - перейду на него. Флаг в руки.

Кстати, прототип Метапрога под GPL v3, а метапроговские функции под MPL 2.0. Пока законодательство об авторских правах действует, изволь соблюдать условия лицензий.

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

перейду на него

Если сможешь позволить себе купить лицензию, лол.

изволь соблюдать условия лицензий

И куда подевался дух борца с копирайтом…

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

Если сможешь позволить себе купить лицензию, лол.

Мой прототип Метапрога лицензирован под GPL v3, ты не запилишь на нем пропиетарщину, не нарушив копирайт:)

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

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

Отличный бизнес-план, между прочим. Сделать «метапрог», собрать его в статический бинарник и продавать как минимум одному конкретному товарищу. По подписочной модели. Как считаешь

@metaprog, ну что, купишь у нас улучшенный лабвью? Наверняка у тебя найдется сто баксов в месяц по подписке.

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

GPLv3 не запрещает создание проприетарных продуктов. Он запрещает проприетарить продукт НА ОСНОВЕ, а не С ПОМОЩЬЮ.

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