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 (всего исправлений: 15)

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

Типа

"Я сам завёл с француженкою шашни,
Мои друзья теперь — и Пьер, и Жан.
И вот плевал я уже, Ваня, с Эйфелевой башни
На головы беспечных ЛОР-чан!"

Владимир

anonymous
()

Хрена вы тут напейсали. А эта поделка ещё кому то интересна, кроме афтору чтоб ЧСВ почесать?

Чота я гляжу уже гтк сильно сложна оказалось. Афтар думает что нуклер типа проще (。◕‿◕。)? Ну я думаю что через месяц-другой он будет что-то новое искать. Или вообще эту бестолковую идею бросит и пойдет «свободна касса» кричать. Хоть какая то польза от него будет.

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

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

(C) Преображенский

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

Кстати, лень читать, он уже выложил там скрин какой концепта или видео там с процессом работы? Может новые исходники которые не крашатся и не текут?

или продолжает какашки кидать из своей клетки?

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

Не, продолжает кидать подгнившие примеры и какашки. Никакого видео, никаких скринов метапрога - ничего нет.

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

Дела дела. Во 2 теме интереснее было. Подожду тогда пожалуй темы номер 24 или лучше 32, может там какой-то намек будет на то, что у автора не простая шизофрения

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

потому что ES6 вполне самодостаточен

Фух. Неужели хоть кто-то здесь это понимает… А то местные чудилы (на букву М) обычно в ответ на это вполне справедливое заявление начинают кукарекать про всякие электроны и макак.

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

Есть у тебя typedef, который пишется в файл или, скажем, является частью сетевого протокола.

В цитатник, однозначно.

— На чём у тебя протокол?

— На тайпдефах.

Спасибо за долю позитива с утра, товарищи! © базист

P.S. Когда начинаешь цитировать даже базиста, противопоставляя его ТС, понимаешь, что с ТС дело совсем плохо…

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

У меня от веба волосы дыбом встают просто. Как бы ES6 тоже далеко не подарок, но всяко лучше, чем тысяча и одна обертка вокруг него, генерирующая автоматом тонну говнокода и обфусцирующая его.

Особенно у меня полыхает от вебпака.

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

Как говорил AVGN, «Football! Don’t even get me started!» Если я начну перечислять, от чего у меня полыхает в современном вебе, лимит размера поста переполнится. Начиная с жоКвери, пихаемой в каждое лишнее отверстие без надобности, и заканчивая всякими ангулярами. И если вещи вроде ClojureScript или Elm ещё как-то оправданы в плане кардинального изменения парадигмы (хотя в случае с Elm это происходит конкретно в ущерб производительности и интеропу), то из этих говнофреймворков сейчас какую-либо ценность представляет собой только React, и то за счёт отсутствия необходимости переписывать кодобазу при необходимости под React Native.

А так — только чистый HTML5/ES6, только хардкор. Просто, как уже правильно заметили (ЕМНИП, Артурианец), на 1 вменяемого JS-разработчика приходится 999 единиц жоквери-быдла. Так и живём.

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

Я еще не разлогинивался, врун.

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

генерирующая автоматом тонну говнокода

Кстати, это ровно то, что пилит ТС. Народ долго тошнило, когда он эти простыни увидел.

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

подтверждаю. Код редкое говно и фейл. Особенно круто когда в примере с циклом используются около 30 переменных, там, где можно было обойтись 2. И этот г-н, что-то там кукарекает про раздутие кода и низкоуровневую оптимизацию на уровне схем, лол.

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

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

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

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

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

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

что у автора не простая шизофрения

Эээ. А кто сказал, что она у него простая? Она у него сложная и в схемах. меташизофрения.

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

если путь с работы домой занимает около часа

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

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

почему бы не включить это всё в зарплату что бы сотрудник наконец то смог себе позволить посетить продуктовый магазин?

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

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

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

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

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

Скорее, офисные плюшки настолько приятные, что нет смысла от них отказываться.

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

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

ну во-первых не все работают программистами, а во-вторых бывают разные причины, адекватные причины в адекватных конторах, и неадекватные причины в неадекватных конторах.

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

Но вообще это даже школьная программа геометрии.

В школе как раз аксиомы не дают - стыдно перед школьниками такой словесный понос выкатывать.

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

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

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

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

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

Зачем выстраивать такую конструкцию? Чтобы у омег включился режим альтруизма, заложенный в генах - вкалывать в ущерб себе на общее благо. «Двигать науку», «развивать свободное ПО», «трудится на благо будущих поколений», «все ради детишек» и т. д. - это все про них.

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

ну если так мало платят не проще ли пойти на freelancer.com и обойтись безо всякой иерархии приматов. я думаю всех этих приматов и 2 часа езды каждый день имеет смысл терпеть с зарплатой в районе $5,000 минимум как в некоторых московских вакансиях. а тыщи 2 за месяц можно и на фрилансе поднять если работать полный рабочий день. там среди копеечного говна регулярно попадается хороший проект, главное скрипт держать который копипастит bids.

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

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

Я сам альфа, поэтому достоверно не знаю детали.

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

А так — только чистый HTML5/ES6, только хардкор

Только чистый Си с указателями как бекенд, только хардкор!

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

Константы цикла, регистры цикла, результаты выполнения цикла. Что тут не так?

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

Вообще-то протокол логичнее всего делать на тайпдефах

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

Только чистый Си с указателями как бекенд, только хардкор!

Но при этом от WebAssembly ты скорее всего будешь морщить носик.

Константы цикла, регистры цикла, результаты выполнения цикла. Что тут не так?

Написано как говно.

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

Вообще-то протокол логичнее всего делать на тайпдефах.

Все больше ваших сообщений напоминают высказывания больного шизофазией https://www.youtube.com/watch?v=uXxu6M0SRIc Вы может таки напряжетесь и будете приводить конкретные примеры хоть какого-то кода, хоть на Си, который вы чуть-чуть знаете. Иногда, кроме посылания анонимов в жопу, вы «берете телевизор, вставляете его в Илью Муромца» и т.д.

Не вам

В школе как раз аксиомы не дают

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

ЗЫ: альфы, омеги, метапрогеры — цирк уродов на лоре.

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

Ты сделал хоть один протокол за свою жизнь

Сделал. И версионированные типы тут очень бы помогли.

Написано как говно.

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

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

Сделал

Спорю, что ты не знаешь, что такое протокол :D И тем более, что такое его реализация.

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

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

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

Сделал.

В студию.

можешь

Могу, конечно, но не пойду. Ты тут так пляшешь - заглядение одно.

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

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