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

Конечно знаю. На том самом органе, который за тебя думает.

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

Советую тебе попробовать триалку Лабвью.

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

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

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

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

Да и хрен бы с тем, что оно графическое. Лично меня поразило то, что и без того несовершенную тулзовину сей пациент опустил ниже плинтуса переходом от уже имеющейся и полностью поддерживаемой «из коробки» декларативной модели в самую что ни на есть гнилую и протухшую версию императивной. То есть используя эту жирноту не по назначению, он по факту блокирует 99% имеющихся перед ним возможностей, ибо в силу эффекта Даннинга-Крюгера не в состоянии осознать, зачем они нужны и что они дают. И ещё и других пытается агитировать на то же самое, шельмец.

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

железнодорожный

Потому что поезд в Карениной?

радиотехнический

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

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

Потому что поезд в Карениной?

Не только, там и до этого, ЕМНИП, какие-то реплики на эту тему были.

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

Собственно, фигеть можно уже от 7 тем за 2 с небольшим месяца. «Досье» — это так, следствие.

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

в чём прикол воскрешать визуальное погромирование если оно провалилось ещё 40 лет назад?

В том, что автор хочет опровергнуть этот тезис (насчёт «провалилось»).

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

«Кто был ничем, то станет всем».

Условия ни каких модераторам не выдвигаю.
Разбанят - будут заходить в ЛОР под своим аккаунтом /без всякого выпендрежа «победителя»/.

В шестой части ТС давали много полезных советов.
А пока - «как об стенку горохом».
ИМХНО нынешнее «упорство» ТС ему вредит /сам себя «по рукам бьет» и более - «Сам себе враг» / и его разработке.
Но он не понимает этого - ПЛОХО!

Владимир

anonymous
()
  1. ТС, почему среди различных видов графических представлений выбрал именно блоксхемы?
  2. Доволен ли ты UX и наглядностью конкретно твоей реализации блоксхем (штудировались ли существующие проекты на предмет наличия интересных идей)?
BondJamesBond
()
Ответ на: комментарий от liksys

идейных клоунов

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

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

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

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

Я имею опыт работы с Лабвью. Из существующих проектов по визуальному программированию Лабвью лучше всех и за 7 тем достойных альтернатив мне не показали (см. FAQ). Хотя Лабвью обладает кучей недостатков, неустранимых из-за пропиетарности.

А какие еще виды графического представления могут быть кроме блоксхем?

metaprog
() автор топика

Господа!

На самом деле мы тут присутствуем при рождении нового! Нового вида мартышек, которым даже JS со всякими Go уже кажется «сложна». Мартышек, которые не способны воспринимать текст (кстати ментальное расстройство такое есть, которое у детей иногда наблюдается), мартышек с клиповым мышлением и другими прелестями, подаренными ТВ/рекламами/играми. Запомните эти дни, господа ибо скоро таких макак станет ОЧЕНЬ много. Макаки будут уверены в том, что они разработчики.

Таких мартышек было и раньше, но по какой-то причине они либо вымерли, либо взялись за голову. В лице же аффтара мы наблюдаем качественно новую мартышку. И хвала Будде, что аффтар просто невежественное дно и не способен родить что-то, сложнее слабеньких примерчиков со 2-3 страницы мануалов от тулкитов. Страшно будет, когда такая макака будет иметь реальную власть где-нибудь в министерстве образования, а как правило такая субстанция довольно неплохо всплывает.

Запомните этот день, господа.

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

Троллить делами... Я, конечно, не ставил целью именно троллить, но все же забавно наблюдать за реакцией таких как liksys и rebforce на Метапрог. Как я вообще смею посягать на священную скрепу, что код можно только писать в тексте? Ужас, ересь, на костер!

Какое счастье, что я не Джордано Бруно в Италии 500-летней давности.

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

Можешь наново зарегаться, если хочешь после 20 страниц писать. Специально для тебя в 2 раза чаще открывать темы не буду.

metaprog
() автор топика

7 тема, а ты так и не ответил чем писание текста на Си отличается от рисования текста на си. Особенно учитывая, что у меня 10 пальцев на клавиатуре, и только пара на тачпаде.

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

забавно наблюдать за реакцией таких как liksys и rebforce на Метапрог.

Ну первому ты сам нахамил. Второго не оправдываю.

Как я вообще смею посягать на священную скрепу, что код можно только писать в тексте?

Насколько я понимаю, никто здесь не утверждал, что код не в тексте писать НЕЛЬЗЯ. Вот насколько это целесообразно — вопрос второй. Дрочить, как известно, можно и вприсядку.

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

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

Похоже советы вам не нужны.

Владимир

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

Если речь про блоксхемы, попадался проект с куда лучшим UX (без лапши), найду ссылку - поделюсь.

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

[1]: https://ru.wikipedia.org/wiki/Таблица_принятия_решений [2]: https://en.wikipedia.org/wiki/Decision_table

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

Слабо веб-сервер собрать?

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

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

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

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

Ну первому ты сам нахамил

Нахамил в ответ на что? Вот что:

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

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

На самом деле, Метапрог - чертовски сложный проект, думаешь почему за 2 месяца еще нет раскрутки? Лабвью для меня удобнее всех текстовых языков, но оно по-своему неудобное (нет версионированных типов, структур условного выбора типа, юнионов - то есть того, что я хочу сделать в Метапроге) и больших темпов от меня не ожидайте. Но советы (полезные, а не критиканство) и, самое главное, подсказки серьезно приближают момент выхода Метапрога.

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

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

В таблицах программировать? Как в екселе?

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

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

А с хера ли тебе кто-то тут что-то должен, клован?

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

снимай штаны, когда срешь, ты опять обосрался.

нет версионированных типов, структур условного выбора типа, юнионов - то есть того, что я хочу сделать в Метапроге

Могу спорить, что ты не понимаешь сути этих терминов.

Вот почему я не стал пока делать чатик?

Потому что ты дно.

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

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

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

ты опять обосрался

О, вот и анон-копрофил. Как же нам тебя не хватало. Иди в жопу, там много какашек, тебе понравится.

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

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

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

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

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

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

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

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

К томуж у меня нет мыши, так что ценность мифического метапурога для меня и того меньше.

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

Тут тебе и FAQ

Из серии «все вокруг пи..сы, а я дартаньян», дада

и примеры

с первых страниц тутора по гтк

и технические обсуждения

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

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

На самом деле мы тут присутствуем при рождении нового! Нового вида мартышек

Да, на 3 теме уже такие же мысли возникли. Новый вид домохозяек, которые хотят в разработку.

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

Второго не оправдываю.

Уже прогресс, на самом деле оправдывать некого, стал бы человек после обидки несколько тредов подряд продолжать гневно писать? Нет конечно.

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

Чтобы программировать в Лабвью и Метапроге. Как ты браузером без мыши пользуешься? Или браузер консольный?

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

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

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