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

Короче, ничего нового по сравнению с си, кроме убогой мышиной возни.

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

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

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

Здрасьте, Метапрог еще с первых хеллоуворлдов использует сишные инклюды. Но оперирую я при этом только графическими объектами: блоками и линиями, текстовый код не пишу.

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

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

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

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

текстовый код не пишу

Зато копипастишь с ошибками исправно. С нуклеаром бездумно скопировал комменты из примера. А в примере с сокетами вообще конфуз вышел. И это не текст виноват, а пониженный уровень интеллекта.

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

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

Я программирую на Си, но в графике? Да, в первом приближении можно и так сказать. Еще раз: программирую в графике. При этом имею доступ к сишным библиотекам, системным вызовам итд. Еще год назад я от таком мог только мечтать.

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

Ну это пока что. Сейчас налаживаю цикл for. Цикл while (с предусловием) тоже, думаю, несложно будет реализовать.

После циклов будет if и switch. Дальше switch по структуре условного выбора типа и версионированному формату - а это уже чисто метапроговские фишки, не встроенные прямо в Си.

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

Вот вы врете, врете, врете, ...
И все!

Владимир

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

Отвчаю на те, которые считаю достойными ответа.

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

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

После циклов будет if и switch. Дальше switch по структуре условного выбора типа и версионированному формату - а это уже чисто метапроговские фишки, не встроенные прямо в Си.

Ты с циклом без выхода провозился два месяца, а эти вещи вообще не осилишь.

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

П. С.: пиктограммы убогие? Так я даже конкурс в прошлой теме проводил на нормальные пиктограммы, нчего стоящего анонимусы не предлжили. Кажется, только iluha16 что-то нормальное подкинул.

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

П. С.: пиктограммы убогие?

Тебя только это волнует? А то, что помощники отвернулись от хама и прожект трещит по швам под грузом твоего незнания тебя не волнует?

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

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

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

metaprog - стань наконец мужиком.

Пока от тебя только вранье на вранье и враньем погоняет.
Многим не нравится твое вранье и они тебе о нем говорят.

Владимир

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

Да в Си switch вообще никудышный. Нормальный switch есть в Го, например, хотя тема с fallthrough всё же сомнительна. Правда графически это всё я себе не представляю. По идее, switch – это уже жирок. Достаточно if, функции и for. Остальное уже сахарок для удобства.

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

Пока от тебя только вранье на вранье и враньем погоняет.

Многим не нравится твое вранье и они тебе о нем говорят.

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

anonymous
()

Хотел сравнить автора с автором Temple OS, но тут же осекся. Тот хоть и разделяет с автором одну психическую болезнь, трудолюбивый и знающий был человек: с нуля без помощи сделал ось, написал под нее компилятор и софт.

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

Где-то в прошлых темах говорилось, что switch - это не просто синтаксический сахар, а по нему строится таблица переходов при компиляции. То есть, switch пожрет меньше циклов процессора, чем этажерка из if... else if... else...

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

В Лабвью есть Case Structure

https://www.youtube.com/watch?v=cgS3u0nupfs

которая понимает не только булевый тип (true/false), но еще и числа, енумы и даже строки. Я хочу что-то подобное и выбор по числам лучше всего делать именно в switch, так ведь?

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

Концентрация диванных психиатров зашкаливает. Подозреваю, что ни один из них не имеет медицинского диплома.

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

Концентрация диванных психиатров зашкаливает. Подозреваю, что ни один из них не имеет медицинского диплома.

А у тебя есть диплом разработчика?

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

Где-то в прошлых темах говорилось, что switch - это не просто синтаксический сахар, а по нему строится таблица переходов при компиляции. То есть, switch пожрет меньше циклов процессора, чем этажерка из if... else if... else...

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

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

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

Ну че, нет же никакого прототипа? Иначе показал бы давно код.

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

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

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

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

Ну то есть им нельзя грешить, а тебе можно? Мания величия какая-то.

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

Лабвью есть? Если есть - докажи намерение контрибутить. Как доказать - спроси у Котечки.

Спроси у котечки, куда тебе пойти. Хотя, пока его нет, подскажу беспомощному - в задницу.

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

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

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

постановкой медицинских диагнозов, вряд ли при этом имея медицинский диплом

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

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

Туда бы он тебя послал, а не меня.

Ты путаешься в своих виртуалах. Посылать в задницу - твоя привычка, а не его.

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

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

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

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

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

Так врать, не краснея, могут только школьники или взрослые люди с мозгом школьника. Или тролли.

anonymous
()

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

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

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

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

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

...текстовый код не пишу.

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

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

Оклахоме

У меня теперь флэшбэки при упоминании этого штата. Особенно после Биверс-Бэнда и Броукен-Боу, где мы без связи втыкали 6 часов…

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

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

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

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

Дык там примитивная ОС 640x480, без интернета, с интерпретатором Holly C. Но программы были интересные, мне нравилась еще та с симуляцией.

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

Лицо у него жизнерадостное.
Похоже хороший человек был - Царствия Небесного ему желаю.

Владимир

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

Помер он ага. На Реддите писали тож. CIA его таки достало. Но в отличие от местного дурачка у него есть проект открытый с самого начала с довольно интересным и простым кодом.

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