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)

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

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

С обной стороны вроде да, с другой стороны все это вроде как логично. Открываем библию:

http://www.patriarchia.ru/bible/mf/10/

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

Уж в этом-то Христос не соврал.

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

Зат на гтк не проще делать диаграммы.

На чистой GTK — конечно, не проще. Там, скорее всего, ещё GDK подключать надо. Я бы взял Qt, но это уже не C, это C++.

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

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

Зат на гтк не проще делать диаграммы. Я на нуклеар спрыгнул именно когда попробовал диаграмму нарисовать.

А Qt круче этих двух для диаграмм. А вообще программирование - это не про проще, там трудиться надо. Но ты этого еще не понял.

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

На SDL делают 3-мерные игры с зумом, а это всего-то лишь диаграммы. Пошарь на досуге как зум делать.

Изучай OpenGL тогда. SDL тут сбоку вообще. Но там ты увязнешь, инфа сотка.

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

Ну если так думать то тебе проще рисовать самому весь гуй. В таком случае посмотри на SDL2_ttf, SDL2_image.

Nuklear просто так не отзумируешь.

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

На Qt уже arturianec100 делает https://github.com/arturianec100/skyvis

Кстати, забыл задать ему важные вопросы. В Си синтаксис простой, конструкций немного. Я даже методом вопросов на ЛОРе могу его выучить в разумные сроки (особенно если будут отвечать, а не флеймить).

Линус - очень умный человек, он раз выучил Си 30 лет назад и имеет язык на все случаи жизни. В отличие от разрабов на плюсах, питоне и особенно джаваскрипте, которые все «учатся, учатся и учатся» да не научатся.

Интересно как Артурианец будет управляться с плюсами и его запутанным синтаксисом? И как это будет отражаться в графике? Транслятор, небось, будет на порядки сложнее моего.

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

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

Христос пошёл на смерть за свои слова.

Господь - Бог.

http://bible.optina.ru/new:in:14:08 Толкования на Ин. 14:8 Свт. Иоанн Златоуст

«Ст. 8-9 Глагола Ему Филипп: Господи, покажи нам Отца, и довлеет нам. Глагола ему Иисус: толико время с вами Есмь, и не познал еси Мене, Филиппе; видевый Мене виде Отца: и како ты глаголеши: покажи нам Отца»

Почему святой апостол Филипп задал этот вопрос?
Потому что Господь будучи Богом даровал человечеству видеть истинное смирение.

Просьба не развивать этот диалог ...
Пустословие - «не мой конек» /это относится ко мне, а не к вам/.

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

Владимир

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

Пустословие - «не мой конек»

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

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

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

Владимир

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

Апогеем было сожжение Джордано Бруно.

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

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

Да, нравы были дикие (сейчас, например, за 4.2 просто банят, а не сжигают), и инквизиция уж точно извратила основные постулаты учения Христа.

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

Кстати, забыл задать ему важные вопросы. В Си синтаксис простой, конструкций немного. Я даже методом вопросов на ЛОРе могу его выучить в разумные сроки

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

Только знать синтаксис языка - не значит уметь проектировать и писать серьёзные программы на этом языке. Чем более высокоуровневый язык, тем проще на нём спроектировать и навалять что-то рабочее за быстрое время. И «сложный» синтаксис тут идет на пользу, так как использование этого синтаксиса решает определенные проблемы.

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

тем проще на нём спроектировать и навалять что-то простое, и рабочее за быстрое время

Пофиксил.

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

В нуклеаре все же есть плюшки по всяким кнопочкам и обработке кликов на них. Есть же вариант как-то отрисовать нуклеар в масштабе, используя SDLьные костыли?

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

Так то ведь не он сам писал сам бы Линус делал на сях.

У автора сейчас шаблон порвется. На сях Линус ядро пишет, а прикладной софт он пишет на более удобных вещах.

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

Есть, но ты что, будешь рисовать полностью каждое окошко просто сжатое? Это тормозить будет.

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

Не стоит противопоставлять науку и религию. Это разные темы. Никто не мешает подвинуть Бога, если тот мешает исследованиям. Но убивать его за это  — это слишком. Он же просто лишает всех приватности, на постоянной основе подглядывая и подслушивая. Это конечно довольно серьёзно, но не убивать же за это.

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

Если бог есть, он слишком старательно от нас прячется:)

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

Так в SDL масштабирование может быть наверное. Пошарь на досуге.

google://SDL,scaling

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

...Ибо Я пришел разделить человека с отцом его, и дочь с матерью ее, и невестку со свекровью ее.

Иисус Иосифович так пытается сказать — «не будь мамкиным сыночком» — чтобы никого не обидеть.

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

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

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

Интересно как Артурианец будет управляться с плюсами и его запутанным синтаксисом?

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

И как это будет отражаться в графике?

Сначала буду генерировать код на питоне, там синтаксис простой. Потом подключу другие ЯП. Ну а парсить существующий код на текстовых ЯП - задача весьма крупная. А кодогенерацию планирую делать на основе шаблонов jinja2 (data driven). Не хардкодить же if, for и прочий синтаксис целевого языка, ведь шаблоны дают гораздо больше гибкости. Когда подготовлю «фундамент», планирую сделать вызов функций, объявление переменных, условия, циклы за один день.

Те, кому сильно нужны очень комплексные и навороченные шаблоны С++ (а не просто QList<MyType> list;), не нуждаются в ВП.

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

Да, нравы были дикие (сейчас, например, за 4.2 просто банят, а не сжигают)

В квотезы!

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

Линус - очень умный человек, он раз выучил Си 30 лет назад и имеет язык на все случаи жизни. В отличие от разрабов на плюсах, питоне и особенно джаваскрипте, которые все «учатся, учатся и учатся» да не научатся.

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

Ну и внезапно, когда Линусу потребовалось написать прикладную программу, он взялся за Qt.

Си — очень мощный язык (а ассемблер ещё мощнее, бгг), но для прикладного программирования, как правило, не лучший.

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

Он — первоначальный «разраб», это главное.

Вынужденное затишье в разработке ядра осенью 2011 года, а также недовольство Линуса Торвальдса, создателя Linux, отсутствием современных дайверских программ, дали ему возможность начать новый проект. Результом этой работы совместо с другими разработчиками стал Subsurface.

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

и довлеет нам. Глагола ему Иисус: толико время с вами Есмь, и не познал еси Мене, Филиппе; видевый Мене виде Отца: и како ты глаголеши: покажи нам Отца

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

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

«Не давайте святыни псам и не бросайте жемчуга вашего перед свиньями, чтобы они не попрали его ногами своими и, обратившись, не растерзали вас» (Матф.7:6).

https://azbyka.ru/otechnik/Biblia/nagornaja-propoved/113 Нагорная проповедь

Владимир

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

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

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

Я на нуклеар спрыгнул именно когда попробовал диаграмму нарисовать.

На нуклеаре проще диаграммы строить?

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

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

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

А он на старорежимном шпарит, ща ещё поди яти вставлять начнет.

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

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

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

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

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

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

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