LINUX.ORG.RU

Metaprog: универсальная графическая среда программирования [в разработке] часть 8

 , ,


1

2

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

Пока Метапрог не готов, продемонстрирую практическое применение LabVIEW. Скачать программу-демонстратор можно тут:

http://e2tilsgo5s44hqmlwb4epwrjnh7ynvsckj2tl5duwdqbxg67chqpelad.onion/file/9b...

Для перехода по ссылке нужен Tor Browser, для просмотра кода примера - LabVIEW начиная с 2013.

На данном графике - количество комментариев самых активных зарегистрированных пользователей в темах про Метапрог на момент 29.06.19 04:47:37

https://i.postimg.cc/gjZ6vS91/image.png

Всего две маленькие диаграмки на Лабвью. Для начала надо распарсить сообщения из сохраненных веб-страниц. Да, страницы пришлось сохранять вручную, так как в Лабвью проблемы с HTTPS (и многими другими сторонними библиотеками). На данный момент проще было сохранить страницы вручную через браузер, чем самостоятельно сделать лабвьюшную реализацию TLS.

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

https://i.postimg.cc/Nj7mJzyc/image.png

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

https://i.postimg.cc/hjGL71tq/image.png

Почти все подписано, специально повключал названия лабвьюшных функций.

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

FAQ

0. Где отсутствующие примеры и пункты FAQ? Как вообще читать эти темы?

Чего нет в этой части - есть в прошлых. Для того, чтобы понять идею Метарпога, не обязательно читать тысячи комментариев из всех тем. Необходимый минимум собран в заголовках тем. Читайте заголовки и ссылки в них. Кстати, обновляется только заголовок последней темы, если эта тема уже не последняя - она не обновляется. В более новых темах пункты FAQ могут обновляться и в случае расхождения действительна более новая версия.

Примеры

Предыдущие см. в прошлых темах

Metaprog: универсальная графическая среда программирования [в разработке]

Metaprog: универсальная графическая среда программирования [в разработке] часть 2

Metaprog: универсальная графическая среда программирования [в разработке] часть 3

Metaprog: универсальная графическая среда программирования [в разработке] часть 4

Metaprog: универсальная графическая среда программирования [в разработке] часть 5

Metaprog: универсальная графическая среда программирования [в разработке] часть 6

Metaprog: универсальная графическая среда программирования [в разработке] часть 7

Наконец-то нормально работают циклы!

https://pastebin.com/1duyPBMB

Это та самая диаграмма со старого скрина:

https://i.postimg.cc/65N2KMQz/image.png

Теперь тупиковые ветки (nk_end и «малювання SDL») тоже остаются в теле цикла. Теперь осталось внедрить тот же механизм управления тупиковыми ветками для условий (if, switch) и можно будет приниматься за разработку Метапрога на «самом себе».

Донат

Bitcoin:1AYoK2TScSpD5bhf67mv9AxHDJ2RidRvjD



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

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

Ты не проверяешь результат fwrite? o_O

Две тупиковых по данным блока fwrite

Какой из двух fwrite выполнится первым и почему?

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

Ты не проверяешь результат fwrite? o_O

Оптимист какой. Хоть бы ассертами обмазал.

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

Какой из двух fwrite выполнится первым и почему?

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

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

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

По схеме первым может выполниться любой из них.

Кстати, думаю вкрутить возможность автоматической параллелизации

«Отличный план. Надёжный, как швейцарские часы.»

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

По схеме первым может выполниться любой из них

Вообще пушка

можно задать жесткую последовательность

Продемонстрируй

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

Продемонстрируй

Зачем?

Немного ада в выполнении кода — ровно то, чего нам не хватало все эти годы. Когда трясёшься над каждой строчкой, не зная, что за выверт платформа выкинет на этот раз.

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

Избавляет от стресса и депрессии

Вместо них глубоко в душе сеет экзистенциальный страх. Заставляет сомневаться в реальности всего.

Давно на столе стоит кружка? Я сегодня не наливал чай…

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

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

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

https://pastebin.com/SgNRm5d4

Но, допустим, нам нужно точно знать, что сначала запись будет в файл. Добавим жесткую последовательность - и вуаля, сначала пишется в файл, и только потом уж в консоль:

https://pastebin.com/qLTEwdcJ

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

https://streamable.com/n8y33

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

Хоспаде, паутина инопланетная. Интуитивность ниже плинтуса.

Именно так я могу сказать о текстовом коде.

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

Именно так я могу сказать о текстовом коде

Твое мнение никому не нужно и не интересно, так как ты неуч.

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