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)

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

И еще.

Кстати - взаимно.

Владимир

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

-150 или еще больше

Нужно точно число для расчётов методом исключения, пожалуйста.

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

Ну так как Ваша наука объяснит феномен метапрога? Ну что съел?

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

Просто менять значение переменной zoom?

Проще двигать монитор: от себя, к себе.

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

«З..бали ваххабиты с их чеченским богом»

Когда и зачем в этот тред сумела проникнуть религия и разговоры о боге?

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

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

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

Совершенно верно, это я наперед спрашиваю.

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

Хотя если в main.c изменить секцию со шрифтами на такую:

 /* Load Fonts: if none of these are loaded a default font will be used  */
    /* Load Cursor: if you uncomment cursor loading please hide the cursor */
    {struct nk_font_atlas *atlas;
    nk_sdl_font_stash_begin(&atlas);
    /*struct nk_font *droid = nk_font_atlas_add_from_file(atlas, "../../../extra_font/DroidSans.ttf", 14, 0);*/
    struct nk_font *roboto = nk_font_atlas_add_from_file(atlas, "../../extra_font/Roboto-Regular.ttf", 16/zoom.y*zoom.x, 0);
    /*struct nk_font *future = nk_font_atlas_add_from_file(atlas, "../../../extra_font/kenvector_future_thin.ttf", 13, 0);*/
    /*struct nk_font *clean = nk_font_atlas_add_from_file(atlas, "../../../extra_font/ProggyClean.ttf", 12, 0);*/
    /*struct nk_font *tiny = nk_font_atlas_add_from_file(atlas, "../../../extra_font/ProggyTiny.ttf", 10, 0);*/
    /*struct nk_font *cousine = nk_font_atlas_add_from_file(atlas, "../../../extra_font/Cousine-Regular.ttf", 13, 0);*/
    nk_sdl_font_stash_end();
    nk_style_set_font(ctx, &roboto->handle);
    /*nk_style_load_all_cursors(ctx, atlas->cursors);*/
    }
То в принципе и нормально смотрится %)

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

Короче, нуклеар много чего может:)

В Лабвью нет зума, но есть «миникарта» - Navigation Window

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019LipSAE&l=...

Этот вопрос датирован 2019 годом, лол. Копирасты есть копирасты. Нахрен им сдался тот зум, если и так законопослушные граждане за Лабвью сотни (и даже тысячи) баксов вываливают?

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

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

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

Ты блин дебила кусок? Были даны три подсказки, выявить хоть одно мое сообщение под анонимом в восьми страницах — это ребенок бы сумел. Вместо этого ты заявляешь, что все анонимные сообщения за авторством cluge.

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

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

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

Ну мне не помешало бы знать какой точно у меня счет.

Ок. Я подсчитаю число своих сообщений. Ты подсчитаешь всех анонимов и узнаешь свой счет.

это даже интереснее чем 1000 рублей доната.

От метапрога, который семь тредов клянчил донаты, такого я не ожидал.

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

законопослушные граждане за Лабвью сотни (и даже тысячи) баксов вываливают

Дяди для своих макак покупают. Гражданам он не упёрся. А на макаках экономия даёт чем заплатить.

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

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

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

Как ты на ту кучу дерьма гору будешь карабкаться страшно даже представить.

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

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

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

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

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

Я скорее поверю в то, что Метапрог будет написан

Ну а почему бы и нет.
Разработка на уровне студенческой поделки /пожалуй это даже похвала. Все гораздо хуже./.

Владимир

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

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

Что бы на такое сказала баба Ликсуся, если даже 2-мерные диагарммы называет инопланетной паутиной?:)

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

Разработка на уровне студенческой поделки /пожалуй это даже похвала. Все гораздо хуже./.

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

А вот написание редактора схем - уже посложнее, но тут автор просто в лабвью натырил готовых компонентов и думает, что всё сделал сам. Сейчас когда насовокупляется с нуклеаром поймет, какое он (автор) дно.

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

Метапрог и не будет написан. Сишный код будет сгенерирован из диаграмм, а они будут тоже не написаны, а собраны из блоков. Из которых «написанных» - ничтожная часть (вставки сишного кода).

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

Сейчас когда насовокупляется с нуклеаром поймет, какое он (автор) дно.

Собаки лают, а караван идёт... Потом антиметапрогеры будут постоянно откладывать провал до «следующего шага»...

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

Собаки лают, а караван идёт... Потом антиметапрогеры будут постоянно откладывать провал до «следующего шага»...

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

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

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

Флуд идет сплошной на форуме, а разработка ползет, как алкаш после ящика водки.

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

Кстати, анон тут напомнил про указатели. Как записывать в структуру под указателем через structure->element?

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

user->send_to = zhopa;

А кто потом это значение прочтет и выполнит действие? Тяжко тебе без ООП. Даже в жопу нормально не послать.

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

А в удаленном тобой сообщении ты строки сравнивал, используя ==. Тяжко тебе без C++. Си слишком сложен для тебя.

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

А кто потом это значение прочтет и выполнит действие?

Угадай.

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

Как можно провалить студенческую поделку?
О чем вы?
Почитайте внимательно как другие программисты оценивают ваши «новации».

Владимир

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

ты строки сравнивал, используя ==.

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

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

Удивительно то, что уже восемь тредов обсуждают пустоту.

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

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

Удивительно то, что уже восемь тредов обсуждают пустоту.

пустота и то что с ней связано - возможно самое удивительное явление природы

(данного треда это не касается, ессно)

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

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

Реализацию этой функции мы конечно же не увидим.

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

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

Опиши, как она будет устроена. Своими словами.

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

Пустоту? Хорошо, давай обсудим место где был бог когда коммунисты взрывали церкви и расстреливали священников. Не там, куда я тебя сегодня послал?

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

Сравнение длин массивов, если длины равны - цикл со сравнением элементов.

А теперь нарисуй схему и посмотрим, насколько она проще такого ТЕКСТОВОГО описания.

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