LINUX.ORG.RU

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

 , , ,


1

3

FAQ

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

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

10. Примеры выдают варнинги при компиляции (у кое-кого еще и сегфолтятся)

Решено вводом неанонимных структур, если идет обращение к данным из сишных инклюдов.

12. Зачем ты пытаешься сделать «графический C» (используя подходы к разработке, структуры данных и прочее из C, но в виде блоксхем)?

Потому что я хочу программировать именно в графике и мне нравится Лабвью, но не нравятся ограничения его бекенда, обусловленные в основном копирастией. Хочется иметь возможность программировать не только на высоком, но даже на самом низком уровне (драйвера, ядра ОС, микроконтроллеры итп) и оперировать указателями, как в Си, но делать это в графике, а не в тексте.

13. Есть же first order logic, лямбда исчисление и т.д. Ты бы изучил для начала альтернативы, может для данного вида представления имеются лучшие подходы?

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

Примеры

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

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

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

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

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

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

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

Неанонимные структуры

В этом простом примере с открытием окошка на 10 секунд давние читатели увидят очень важное изменение. Транслятор стал использовать имена структур и типов из инклюдов вместо анонимных структур. Здесь есть вставки сишного кода, так в некоторых местах было проще, чем переделывать на графике, читая текстовый код. Вставки подписаны по-украински. При желании пиктограммы можно и к ним рисовать, но они - всего лишь временные костыли, так что заморачиваться с рисованием не вижу смысла.

Главная функция:

https://i.postimg.cc/8kJdT96h/image.png

Открытие нового окна:

https://postimg.cc/kBX6rB0P

Та же диаграмма в видео:

https://streamable.com/jqng1

Видно всплывающие подсказки, в конце удаляется и снова проводится один из проводков.

Начало рисования SDL, то что должно делаться каждый цикл в нуклеаре:

https://postimg.cc/tYS199bZ

Вставки, как видите, могут принимать и даже возвращать аргументы, как вставка обработки событий SDL возвращает running. Потом этот проводок с running будет подключен к главному циклу.

Кстати, что мешает мне сейчас сделать главный нуклеаровский цикл, ведь циклы ж уже готовы? Смотрите на этот скрин:

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

Почти такой же пример, только есть цикл и нету sleep (чтобы можно было полюболваться на окошко 10 секунд). Что тут не так? Схема правильная, но надо еще научить транслятор ставить «тупиковые» ветки, берущие начало в цикле, в пределах цикла по-умолчанию. Сейчас код nk_end и малювання SDL оказываются за пределами тела цикла, буду это исправлять. Где-то там же находится ключ к полному налаживанию ветвления через if и switch.

Сам код:

https://pastebin.com/f5PDfi77

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

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

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

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

это не для того, чтобы тема стала чище, а для того, чтобы новых не появлялось

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

В Лабвью есть встроенная функция. А Метапрог еще в разработке.

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

Не нравится тема - иди на другие ресурсы, например на порносайты.

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

Как я уже говорил, логически выводится из твоих утверждений, клоун.

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

Аксиомы не выводятся логически. Или тебя не так учили в школе?

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

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

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

Логический вывод это слишком сложная абстракция, она для него неподъёмна

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

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

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

нормальный человек всегда в состоянии признать свои ошибки, а не орать «сегфолт не у меня а в гтк!!!1 иди в жопу!!11»

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

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

balsoft, новые цитатки подъехали!

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

ждём реверс строки.

Чтение с консоли
реверс
вывод на консоль

Даже так. Это задачка для 5 класса.

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

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

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

реверс

Мммм. можно попросить еще «круг нарисовать». Бггг. Но анонiмус сильно круче, все-равно. Тот не такое невежественное ничтожество, как этот метанеуч.

anonymous ()

За 13 часов тема разрослась до 260+ сообщений. При том, что это уже седьмая тема о переливании из пустого в порожнее Метапрог. Растосрачи в последние годы не такие активные.

Может пора metaprog-а забанить или под metaprog-овский срачики сделать отдельный раздел на LOR-е, вроде metaprog-talks?

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

Так сами себе вредите.
Перейти границу морали не сложно, а вот возвратиться назад сложно.

Владимир

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

Я думаю, достаточно перенести в обычные толксы. Там этому цирку самое место, нечего dev захламлять.

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

liksys sorry!
Message был для metaprog

Владимир

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

А, окей. Все норм. Я не обиделся, а просто удивился)

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

Так сами себе вредите. Перейти границу морали не сложно, а вот возвратиться назад сложно.

Владимир

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

Какой дерзкий писюн мерзкий. Метапрог свой обратно, откуда он и вылез, - в жопу себе заколоти

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

Кхм, ну границы у всех разные, и понимание разное, не с того начинаешь, сначала в секту замани, там приведут к более менее одинаковому мышлению, и можно корректировать поведение. А так не вижу смысла, или работает?

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

Это типа «У каждого мораль в силу своей распущенности?».
Кто же вас приведет к морали если распущенность для вас - «самое то»?

Владимир

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

Этот цирк давно на виду у всего ЛОРа. Модераторы давно бы уже забанили ТСа если бы посчитали нужным.

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

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

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

графическое программирование - это мертворожденная идея

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

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

Диалог с вами в этих вопросах подобен вакханалии.
Вакханалии не будет.

Владимир

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

Не-не, его иногда внедряют

Когда я это написал liksys, он просто написал что я в игноре, ахах, не вписалась в его мир такая штука. Он неадекватен.

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

Нет, типизация в ЯП - это «кроличья нора», огромная серьёзная тема, считать, что всё ограничивается статическая/динамическая - дилетантство в области типов. Система типов в си - статическая, но простая. Система типов в type script - статическая, адаптирована из C# к js'у, очень мощная и гибкая, правда там есть задротство с <T inherits MyType>, но не такая бездна как в С++.

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

Я подразумевал графическое программирование общего назначения, разумеется. Тема-то именно об этом.

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

Реализации ООП говно потому что парадигма ООП - говно

какая глубокая аналитика, снимаю свою волшебную шляпу и плащ

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

Скорее всего какая-то реализации Metaprog появится.
Какая, где и почему будет польза от использования этой программы?
Если бы ТС реализовал API GUI а-ля LabView, то может быть другие
программисты используя его разработали какие-либо программы.
А ведь похоже ни чего это не будет: ни API GUI, ...
Пока только одна мысль приходит - ТС получает радость от своей работы.

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

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

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

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

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

Аксиомы всегда на чем-то основываются

На чем же? Похоже ты пафосно опростоволосился, и это не ТС тебе пишет:

Аксио́ма (др.-греч. ἀξίωμα «утверждение, положение») или постула́т — исходное положение какой-либо теории, принимаемое в рамках данной теории истинным без требования доказательства и используемое при доказательстве других её положений, которые, в свою очередь, называются теоремами. Необходимость в принятии аксиом без доказательств следует из индуктивного соображения: любое доказательство вынуждено опираться на какие-либо утверждения

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

Дрочить умею. А вприсядку это как?

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

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

Я не ТС, просто викину педию процитировал. Но вообще это даже школьная программа геометрии. Можешь попросить модеров даже по IP проверить

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

Мне это не интересно.

Но вообще, тебе стоило прочитать дальше первых строчек:

В современной науке вопрос об истинности аксиом, лежащих в основе какой-либо теории, решается либо в рамках других научных теорий, либо посредством интерпретации данной теории

Делай выводы. Свободен.

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

Делай выводы

Делаю вывод: ты размахиваешь своей пиписькой с экранов порядочных ЛОРчан

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

просто викину педию процитировал
школьная программа геометрии
геометрии

метапрог, залогинься, дурилка.

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

а если программист предпочитает чистый текстовый редактор?

Таких автор уже отсёк от своего детища, см. п.1 моего списка.

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

А если программист предпочитает гимп или инкскейп?

liksys ()
Ограничение на отправку комментариев: