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)

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

Ютуб тупой, перестала кнопка «подтверждаю» нажиматься. Это только у меня так тупит или у всех?

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

Кстати, эта возня отнимает время и автор думает, что делает что-то сложное и полезное.

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

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

liksys, как тебе статья на википедии про чувака с биполярочкой и шизофренией, который «услышал голос Бога, который приказал восстановить потерянный храм» и сам запилил «храм» в виде ОС и выложил на гитхаб? Правда он всерьёз считал себя самым умным программистом в мире и заявлял это публично.

Я почти уверен, что кроме тредов на ЛОРе ТС всё-таки запилит метапрог и выложит в открытый доступ (только обфусцированные сишные исходники, но не лабвьюшный прототип). Актуальность - это уже другой вопрос.

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

Как говорили раньше: Если в с++ не появится стандартного класса строк, то на улице прольётся кровь. Почему бы, раз уж на то пошло, не реализовать в метапроге удобные строки, затем можно принятся и за другие высокоуровневые абстракции, доступные в других языках из коробки.

Строки? Уже есть свой метапроговский массив, начиная с первых хеллоуворлдов. А строка - это массив байтов (целых 8-битных беззнаковых чисел). С метапроговским массивом можно работать и как с единым целым, и с указателем и длиной по-отдельности.

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

Автор, а не проще все эти фишки метапрога вроде структуры выбора типа реализовать в виде отдельной сишной библиотеки, а в метапроге работать непосредственно с ней как с любой другой библиотекой?

Если ты поставил себе принцип ‘ни шагу в сторону абстракций от сишных примитивов’, то неплохо было бы его соблюдать на всём протяжении проектирования программы, не выдумывая никаких встроенных в язык абстракций, отличных от языка СИ.

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

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

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

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

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

Владимир

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

А строка - это массив байтов (целых 8-битных беззнаковых чисел).

Дальше можно не читать.

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

По официальной версии задавил поезд, но черт его знает...

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

А строка - это массив байтов (целых 8-битных беззнаковых чисел).

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

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

Ну вот опять же, мне говорят что я рассказываю о примитивных вещах, а человек не знает о jmp table, и то зачем собственно в C нужен такой switch, и почему if,else не замена.

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

В памяти компьютера строка - это именно последовательность байтов.

И что? Как тебе это поможет развернуть задом наперед строку с китайским текстом?

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

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

Вот действительно важный вопрос.

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

Без 100 граммов код не разберешь %) Позаменяй в тексте элементы если хочешь узнать причину, не могу так сказать, долго слишком лазить.

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

Как тебе это поможет развернуть задом наперед строку с китайским текстом?

Начинаю каждый свой день с разворота китайских строк!

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

Спасибо анон. Надо будет пощупать, если время будет.

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

А не пора ли все эти треды удалить?
Польза от выяснения, что такое строка - маленькая.

Владимир

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

А строка - это массив байтов (целых 8-битных беззнаковых чисел).

Дам тебе одну подсказаньку

>>> len("метапрог-хер")  
12
>>> len(r"метапрог-хер")
23

Это не питон есси чо. Это учебный язык. первая строка - это строка. вторая строка - это массив байт.

>> for c in "метапрог-хер", -1 { io.put(c) }
рех-горпатем
>> for c in r"метапрог-хер", -1 { io.put(str(c)) }
�ѵЅ�-�оЀѿаЂѵм�

Кстати заметь, это переворот строки. который ты не осилил :D

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

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

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

Ну если есть какие то проблемы, нету - оставляй. Потом ясно будет.

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

Что поменять?

Названия переменных с шизоидных metaprog_zhopa_zhopa_idi_v_zhopu_23198732479432 на нормальные.

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

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

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

Не существует языков и библиотек для корректного переворачивания строк на всех языках. Твой пример вообще очень глупый, кому это нужно? Кто хочет пусть подключает ICU, (напоминаю, весит 50 мб) и ворочает строки на радость анонимам.

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

Не существует языков и библиотек для корректного переворачивания строк на всех языках.

Да наш херой строку из цифр и то не осилил развернуть.

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

А зачем нужно удалять тред? Не нравится - можешь игнорировать, а зачем портить кому то планы?

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

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

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

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

А зачем нужно удалять тред? Не нравится - можешь игнорировать, а зачем портить кому то планы?

Ты перевыполнил план по троллингу своими 8 темами. Я - за удаление.

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

Ну это я с оптимизимом, и на будущее.

Deleted
()
Ответ на: комментарий от Deleted
>>> for i in "Кирилица, latinic, 中國 จีน มีตัวละครจ πολλοί عرب ٹیسٹ χαρακτήρες", -1 { io.put(i) }
ςερήτκαραχ ٹسیٹ برع ίολλοπ จรคะลวัตีม นีจ 國中 ,cinital ,ацилириК

Расскажи, чмо, что это не перевернутая строка.

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

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

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

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

А то что metaprog «лапшу на уши» всем одевает хорошо?

Владимир

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

Дык аккаунт интересен старый, кто был забанен, не узнаю.

А то что metaprog «лапшу на уши» всем одевает хорошо?

Какую именно лапшу?

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

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

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

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

Да, я читал. На это очень как раз и похоже.

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

Она вообще не нужна в языке, пусть реализуется библиотеками, кому как надо. Некоторые вообще UTF-8 не юзают.

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

Но реализация переворота UTF-8 строки откладывается до того как ее сделает тот, кому она нужна.

Давай проще задачу. Сделай toLower, toUpper или получение подстроки по номерам символов (это не байты). Даже если тебе в дипломе это не нужно, то по жизни это используется очень часто.

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

Развернуть массив - задача тривиальная и даже может пригодиться в процессе делания лабвьюшного прототипа.

Еще восемь тредов будем обсуждать как вы не осили перевернуть строку?

Владимир

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

В Лабвью есть, но там однобайтная кодировка (в кириллице Windows-1251).

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