LINUX.ORG.RU

Метапрог-прототип 34 + СУВТ по логическому типу

 , , ,


0

3

Следующая тема:

Метапрог-прототип 42

Подпишусь в поддержку Столлмана Bitcoin-кошельком из первой темы про Метапрог:

Metaprog Project supports Richard Matthew Stallman. Shame to SJW, Big Tech and Big Media. We need to get rid of them or Big Money will enslave us. It is do or die! Stay straight, RMS!

Подпись:

H/3cqHl7HGdAQd9K/io474IbLYlIKi/8R6pw1Vbpz0oTN4kihI5YO4dIdZo2VRdJbSp8kWmtWgC5TRTs0MkBIAo=

Подробности:

Движение отмены Столлмана (комментарий)

Следующая версия:

www.linux.org.ru/forum/development/16219448

Скачать:

https://mega.nz/file/6VJCEboQ#N3pu86bqI31Jp15aHWt6l-FIkY_RUws0CZK9aMcvxZo

В версии 34 исправлен тот же баг что и в 33, но другим способом, так как багфикс из версии 33 вызывал другие баги.

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

К выпуску версии 32 неожиданно обнаружилось, что СУВТ может иметь переключатель логического типа. То есть, можно задавать типы на значения «да» и «нет». Никаких изменений для этого вносить с 31 версии не пришлось, надо лишь задавать в определении СУВТ типы по значению СУВТ 0 на «нет» и 1 на «да». Из изменений - некоторые исправления багов (например, с кодогенерацией структур и операций над структурами под указателями), а также экспериментальная фича отрисовки канваса через dll-вызов окошка на SDL, за подробностями обращаться к MOPKOBKA или kote4ka в Метапрог онлайн.

В версии 31 - доработка транслятора для трансляции циклов, включающих в себя жесткие последовательности (были баги с повторной кодогенерацией тех же участков на подфункциях и операциях над структурами).

В версии 30 - исправление бага с сишной трансляцией циклов с регистрами. Теперь их значение берется на сишном уровне не напрямую, а через промежуточную переменную. Это позволило реализовать алгоритм вычисления чисел Фибоначчи, где есть непосредственная передача данных между разными регистрами. Метапрог-схема находится в меню обучение - примеры - Фибоначчи, выглядит она так:

https://i.postimg.cc/D0W8v7XZ/image.png

Для сравнения - тот же алгоритм на LabVIEW:

https://i.postimg.cc/CLqz9L0r/image.png

Сишная трансляция:

https://pastebin.com/Z8rzvZpQ

Сравнение с тем же алгоритмом на «аналоге» Метапрога с бекендом на python говорит само за себя:

Metaprog здорового человека (комментарий)

В версии 29 - крупные изменения системы типов. «Встроенных» типов, вытягиваемых через меню «структуры», больше нет, все они теперь представлены в стандартной библиотеке. В особенности изменения коснулись числовых типов: теперь такие типы как число, дробь, целое, знаковое и беззнаковое представлены как многотиповые из соответствующих типов. Например, беззнаковое - многотиповой из 8, 16, 32, 64 и 128-разрядных беззнаковых, целое - многотиповой из знакового и беззнакового, число - многотиповой из целого и дробного. Теперь такие типы можно обрабатывать как многотиповые, поступая с числами разных типов по-разному.

В версии 28 переключатель (аналог сишного switch) работает с многотиповым типом. Выполнение схемы происходит только на ветке, соответствующей поданному на переключатель типу. Ветвление происходит не в рантайме (как в случае СУВТ), а при кодогенерации - не соответствующие поданному типу ветки не генерируются. Теперь осталось сделать цикл по структуре.

В версии 27 добавлена удобная возможность создать новую подфункцию, не останавливая весь прототип. Кнопка блоки - новая подфункция.

Также обнаружилась (но пока не исправлена) проблема с терминалом счетчика повторений цикла в цикле по условию - пока что не используйте его!

В стандартной библиотеке добавлено меню «параллелизм» - можно создавать новые потоки средствами стандартной библиотеки Метапрога. Новые потоки можно было создавать и раньше средствами сишных функций, но теперь эта возможность стала частью официальной стандартной библиотеки.

В версии 26 исправлена трансляция циклов при определенных условиях (не всегда корректно транслировались циклы с жесткими последовательностями, идущими к входному блоку).

В версии 25 исправлена трансляция сложных рекурсивных структур с СУВТ.

В версии 24 был исправлен баг транслятора, проявившийся в версии 23: на некоторых схемах (например, отправки данных по TCP) код, отвечающий за поток данных, «вливающийся» в ветки с условиями, мог сгенерироваться после кода самого условия.

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

В версии 22 исправлен баг с упаковкой проектов, из-за которого не паковались зависимости из локальных форков. При этом удалось существенно ускорить упаковку проектов.

В версии 21 наконец-то добавлена корректная трансляция схем, содержащих рекурсии. Как пример можно привести схемы из репозитория «разработка интерфейса на нуклеар+» (можно скачать через Метапрог онлайн). В этой схеме отрисовка элементов интерфейса основана на СУВТ (структура условного выбра типа). В этой СУВТ возможны такие элементы интерфейса, как текстовый лейбл, текстовое поле, кнопка и (самое интересное) - линия из элементов интерфейса. В последнем случае происходит рекурсивный вызов функции, обрабатывающей массив из тех же СУВТ элементов интерфейса.

Предыдущая версия:

Метапрог-прототип 19 + API на СУВТ + ускорение трансляции



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

Да Мы её и нашли-то, когда перебирали, какие вообще программы есть на Tk ;)

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

Нормальную тему настроить

Во-первых, для этого программа должна поддерживать Ttk, во-вторых, зачем «нормальную», когда надо соответствующую теме GTK+? — а мимикрировать-то оно, в отличие от Qt, не умеет, и конвертера нет тоже, только порты самых попсовых тем :P

В винде вон Tk вообще нативно выглядит, т.к. использует нативные виджеты

Скроллбары только, а в остальном такое же страшное.

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

Без них метапрог сам на себе не реализуется?

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

Чтобы к винде и лабвью не был привязан.

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

народ за три дня на том же питоне чат-бота с ИИ для телеграма за три дня пишет

Склеили вместе готовую либу для телегоботов и готову либу с цепями Маркова? Великое достижение :->

Пусть «не сам на себе», но был бы!

С чего бы у человека с патологическим неумением писать на текстовых ЯП и хронической нехваткой свободного времени за два года что-то на пердоне вышло?

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

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

Можно на Tk сделать нормальный интерфейс, а можно на сверхсовременном Qt или node.js понаделать лажу. Это все от разработчика зависит – умеет ли он GUI или нет. Не даром отдельная специализация существует: разработчик пользовательского интерфейса. Зачастую крутые программеры могут сделать крутые вещи, но не могут сделать понятное для обычного пользователя.

зачем «нормальную», когда надо соответствующую теме GTK+?

Вот как-то Blender, Kdenlive, Krita под соответствующую тему gtk+ не подстраиваются, а народ пользуется. Тут главное, чтобы удобно было, а не как выглядят виджеты. У метапрога пока с этим полный провал.

Скроллбары только, а в остальном такое же страшное.

Ну да, тут ты прав – Ttk надо использвоать.

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

Можно на Tk сделать нормальный интерфейс, а можно на сверхсовременном Qt или node.js понаделать лажу

Вы чего подгорели-то? ;)

Вот как-то Blender, Kdenlive, Krita под соответствующую тему gtk+ не подстраиваются, а народ пользуется

А куда им деваться?

Но и это надо поправлять, чтобы stopthemingmyapp-фанатики сильно не возникали. У Нас на этот счёт планы есть ;)

Ttk надо использвоать

Он-то тоже ненативный.

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

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

Да ничего они уже не хотят, только «цикл по структуре» и СУВТ версия 40.0.

Какой смысл, монопенисуально к разработке никто больше не подключится, потому что никому этот Метапрог не упал.

Ага, теперь точно не упал. Два года назад была надежда, что что-нибудь получится.

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

Да ничего они уже не хотят, только «цикл по структуре» и СУВТ версия 40.0.

СУВТ бесконечно наращивать не получится ;)

Два года назад была надежда, что что-нибудь получится

А оно и получится, благо, топикстартера наконец перестали отвлекать срачами. Причём тогда, когда этого меньше всего будут ждать.

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

СУВТ бесконечно наращивать не получится ;)

Номер версии — натуральное число. Для любого натурального числа n существует хотя бы одно число m такое, что m > n. Поэтому номер версии можно наращивать бесконечно.

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

Речь не о циферках, а о том, что нечего станет туда запихивать ;) Упрут из разных языков всяческие сахарки над структурами, включая разные сорта ООП, типажи, наследование, рефлексию, динамически валидируемые типы, и успокоятся наконец ;)

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

А оно и получится, благо, топикстартера наконец перестали отвлекать срачами. Причём тогда, когда этого меньше всего будут ждать.

Вполне возможно.

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

… было бы, если бы он не был необучаемым.

Как только аффтар начнет что-то изучать по теме, к нему быстро придет осознание того, что графическое программирование общего назначения не нужно. Это просто факт. А раз ему этот факт еще не ясен, делаем вывод, что нифига он не изучает, а сидит и полирует никому не нужные (в том числе ему самому) сувт.

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

Речь не о циферках, а о том, что нечего станет туда запихивать ;)

Ты опять пытаешься логику применять?

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

А зачем что-то изучать для того, чтобы делать Метапрог?

Весь Метапрог строится вокруг идеи того, что изучать что-либо для программирования на LabVIEW/Метапроге не нужно :P

И успешно строится уже два года.

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

Полагаете, что топикстартеру-электронщику логика чужда?

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

электронщику

Я не вижу тут электронщика. Неуча с претензиями - вижу. Электронщика - нет.

И успешно строится уже два года.

С этим, конечно же, спорить будет трудно. Он будет успешно строиться и два года, и три, и все десять лет. Благо, что можно вечно топтаться на месте, полируя бесполезные суньвт, высуньвт, недоредакторы диаграмм, недотрансляторы и прочее. Синдром аспергера + необучаемость ТС = 0 результата при громадье усилий.

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

А зачем что-то изучать для того, чтобы делать Метапрог?

Чтобы собственно и сделать Метапрог, полагаю.

Весь Метапрог строится вокруг идеи того, что изучать что-либо для программирования на LabVIEW/Метапроге не нужно :P

Вот мне кажется наоборот: чтобы сделать среду программирования для новичков в программировании, нужно обладать определенным багажом знаний. Чего в ТСе абсолютно не наблюдается. Но тут можно и поспорить. Можно и «методом научного тыка» что-то натыкать, но это будет долго и постоянно будут вылезать различные баги, что мы собственно уже долгое время наблюдаем.

И успешно строится уже два года.

Сколько там он банальные циклы пилил? Год или полтора? И постоянно всякие траблы у него с этими циклами случались.

Охрененный успех, полагаю. И целевая аудитория проекта уже появилась? И «успешные» проекты на Метапроге уже делаются?

ТС, ты обыкновенные циклы то сделал? Чтобы они у тебя нормально работали, а то давно анонсов не было, все какие-то СУВТ и никому ненужная хрень «цикл по структуре»? Полезность которой ни ты, ни Котечка не сумели объяснить.

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

Это прокрастинация в чистом виде. Они знают сишечку и лабвью только на уровне первокурсника, поэтому не способны приступить к решению практических задач - построению кубиков для метапрога на самом себе. А суньвт - задача тривиальная, на которую хватает мозжечка, так что можно бесконечно его пилить, и при этом никто не попрекнет в том, что ТС ничего не делает. Делает, конечно, только не то, что нужно для решения его задачи.

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

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

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

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

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

Ты не умеешь пользоваться логикой

Логика не применима ни к рыночку, ни к decision making в целом. Как Вы пытаетесь приплести логику к успеху Метапрога и визуального программирования — непонятно.

Точно так же, как не умеет и ТС

То есть Наше утверждение всё же верно :P

Я не вижу тут электронщика

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

Как Вы в таком случае объясняете опыт топикстартера с LabVIEW? Совершенно случайно в дикой природе пересеклись? ;)

Он будет успешно строиться и два года, и три, и все десять лет

Ждите, что тут можно сказать. Обещанные сроки всё равно давно сорваны, срывать больше нечего :P

Синдром аспергера

Вменять врождённые особенности — попахивает 5.2.

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

Чтобы собственно и сделать Метапрог, полагаю

Это обломает всю идеологию. Как можно задвигать, что в LabVIEW и прототипе Метапрога можно программировать без знания программирования, если для создания Метапрога знания всё же понадобятся?

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

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

банальные циклы пилил

Это для Вас, стоящих на плечах стапицта реализаций этих самых циклов в текстовых языках, они кажутся банальными. А ТС опираться толком не на что, кроме самого LabVIEW, реализация которого закрыта. Прочие визуальные среды слишком несовместимы с LabVIEW по парадигме.

Полезность которой ни ты, ни Котечка не сумели объяснить

А кому здесь объяснять? Кроме ТС и Котечки, никого сабж всерьёз не интересует (иначе давно присоединились бы к разработке). Вы с таким же успехом можете критиковать неспособность объяснить процесс загрузки web-страницы человеку (вполне наглядный и юзверепонятный, вспомните хотя бы полоску в Opera), который не может включить писюк и из интерфейсов знает максимум клавиатуру звонилки и переключатель каналов на пульте от телевизора. Тут сначала азы надо объяснять, а у антиметапрогеров вместо этих азов уже прочно сидит текстовое программирование головного мозга, медицина бессильна.

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

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

только не то, что нужно для решения его задачи

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

принципов построения софта

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

два года жизни были слиты в унитаз

А есть вариант их не сливать, с такими входными данными? ;) Эта эпопея уже сама по себе является исторической памяткой, на которую имело смысл потрудиться. Она даже РФВC затмила!

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

Да какая логика, тут даже плана развития толкового нет ;)

Срочно нужен редактор планов развития на прототипе Метапрога!

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

Как Вы пытаетесь приплести логику к успеху Метапрога и визуального программирования

Где ты успех то увидел, непонятно? Успех в многолетнем флуде, отсутствие у проекта ЦА, постоянные баги, пиление ненужных на данном этапе разработки фич? Это успех?

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

Каким макаром? С недефолтной темой на Ttk будет та же петрушка, надо явно портировать каждую.

Ты уверен в этом за Ttk на винде? Ты сам это видел?

Каким макаром?

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

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

Как можно задвигать, что в LabVIEW и прототипе Метапрога можно программировать без знания программирования, если для создания Метапрога знания всё же понадобятся?

В этом то и проблема! Чувак задвигал-задвигал, что без всяких знаний что-то понаделает. А в итоге такой «успех»!

А ТС опираться толком не на что, кроме самого LabVIEW, реализация которого закрыта.

Циклы – они и в Африке циклы, что в текстовой реализации, что в графической. Отсутствие знаний у ТСа и порождает такие проблемы, как постоянные баги и очень-очень долгая разработка. Что тебе еще объяснять.

А кому здесь объяснять?

Почему бы и нет? Может это настолько крутая фича, что и в текстовые языки можно подтянуть! Но нет, это только бесполезные фантазии ТСа, на реализацию которых он потратил кучу времени.

старые пердуны за 25 лет, которые принципиально новые вещи осилить уже не способны.

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

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

Логика не применима ни к рыночку, ни к decision making в целом

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

успеху Метапрога

Метапрога нет, есть только флуд и обещания на овер 30 тем.

То есть Наше утверждение всё же верно

Разумеется нет.

Вы некомпетентны

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

Как Вы в таком случае объясняете опыт топикстартера с LabVIEW?

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

Не Вам это решать

Разумеется. Однако я могу оценить эффективность принятых решений. Она нулевая.

А есть вариант их не сливать, с такими входными данными?

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

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

А ТС опираться толком не на что, кроме самого LabVIEW, реализация которого закрыта

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

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

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

Котечка в этих тредах единственный зумерок

На пару с ТСом, что делает ситуацию еще смешнее. Зумерки изобретают программирование. Так мило.

будто с этих бесполезных устаревших нравоучений есть какой-то толк

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

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

Где ты успех то увидел

В разработке.

отсутствие у проекта ЦА

ЦА на этом сайте не обитает по очевидным причинам.

постоянные баги

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

пиление ненужных на данном этапе разработки фич

Это не Вам решать, нужны они или не нужны :P

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

Ты уверен в этом за Ttk на винде? Ты сам это видел?

Запустим опять пекарню — проверим. Вы сами-то видели? ;)

Тебе вроде объяснили

Нет, не объяснили. У Ttk свой формат тем. Какое отношение он имеет к мимикрии под системную тему?

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

В этом то и проблема!

Никакой проблемы нет, проект успешно развивается.

Циклы – они и в Африке циклы

Какие, уровня je cx,0?

Даже банальный foreach реализовать универсальным образом далеко не тривиально :P А уж циклом по полям немногие компилируемые языки могут похвастаться. Метапрог Вам не брейнфак какой-нибудь очередной.

в текстовые языки можно подтянуть

Всё равно что проецировать двумерное пространство на одномерное.

у нас уже пенсионеры новые вещи влет осваивают

А делают эти новые вещи тоже они? ;) Топикстартер-то первопроходец, при чём здесь освоение?

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

Осталось выяснить, при чем тут рыночек

При том, что мы обсуждаем успех Метапрога, или что? ;)

лишишься возможности общаться со мной

Вновь пытаетесь представить это как какую-то ценность?

есть только флуд

Вами же высранный. Топикстартер, заметьте, срачей не плодит.

Покажи свой гитхаб

Уже показывали.

А вот Вы свой Метапрог.Онлайн так и не показали.

То, что его учили на электронщика, не означает, что он стал электронщиком

Не хотите признавать украинские дипломы?

Однако я могу оценить эффективность принятых решений

Любите считать чужие деньги?

Изменить входные данные

Наука до такого ещё не дошла. Дадите номер клиники, где синдром Аспергера лечат? ;)

Можно было за полгода выучить нормальный язык

Ну-ну, коммунизм на развалинах Российской Империи строили на деньги забугорных спонсоров-капиталистов, до сих пор припоминают. Недопустимы подобные идеологические проколы. Сказано делать на LabVIEW — надо делать на LabVIEW.

сраный конструктор диаграмм

Конструктор диагармм был готов ещё в позапрошлом году. Основные изменения с тех пор в трансляторе.

забить на нее

И что взамен? Какое-то ненужно? А почему Вы пытаетесь навязать топикстартеру какое-то ненужно?

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

ТС опирается на готовые циклы сишечки

В сишечке нет цикла по полям структур.

Азы - это алгоритмы, логика, дискретная математика и прочий матан

В прикладном формошлёпстве эти «азы» нужны чуть менее чем никогда.

На пару с ТСом

А вот это весьма сомнительно. Хотя учитывая, что @wintrolls, как оказывается, лет 28 всего, то всё возможно. В Украине и не такую некрофилию можно встретить в порядке вещей.

не в коня корм

Зачем кормите тогда?

остается только глумиться

Это прямое нарушение 5.2.

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

В разработке.

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

ЦА на этом сайте не обитает по очевидным причинам

Тогда что он тут делает?

Почему они вдруг должны прекратиться

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

Это не Вам решать, нужны они или не нужны :P

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

Никакой проблемы нет, проект успешно развивается.

Настолько успешно, что никому не нужен.

Даже банальный foreach реализовать универсальным образом далеко не тривиально

К счастью, убогая скриптуха имени @metaprog не берет на себя ответственность в реализации циклов с нуля, а опирается на то, что было написано умными людьми в GCC и Clang.

Топикстартер-то первопроходец

Первопроходец в чем, в графическом программировании? Это ложь, графическое программирование существовало и до него, он вообще ничего в него не привнес, просто обводит си в квадратики.

При том, что мы обсуждаем успех Метапрога, или что?

МЫ обсуждаем провал метапрога как идеи и реализации, а ВАШИ маняфантязии нас тут не интересуют.

Вновь пытаетесь представить это как какую-то ценность?

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

Вами же высранный. Топикстартер, заметьте, срачей не плодит.

Ложь.

Уже показывали.

Разве? Видимо, мне не запомнилось оттуда ничего, из чего можно было бы заключить, что твое мнение имеет хоть какой-то вес.

А вот Вы свой Метапрог.Онлайн так и не показали.

Я не занимаюсь очевидно ненужными вещами.

Не хотите признавать украинские дипломы?

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

Любите считать чужие деньги?

Не передергивай.

Наука до такого ещё не дошла

Не передергивай.

коммунизм

Не передергивай.

Конструктор диагармм был готов ещё в позапрошлом году. Основные изменения с тех пор в трансляторе.

Разве транслятор не является его частью?

И что взамен?

Не передергивай.

В сишечке нет цикла по полям структур.

Зачем он нужен для метапрога?

В прикладном формошлёпстве эти «азы» нужны чуть менее чем никогда.

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

Зачем кормите тогда?

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

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

никому не нужен

Это у Вас с логикой проблемы. «Никому» — это когда последователей у проекта ровно 0. Метапрог аж на две (!) головы выше, чем поделия, которые даже их автору перестали быть нужны, а кроме автора никогда никому нужны и не были.

Тогда что он тут делает?

А ничего толком и не делают. Только постят по инерции апдейты и задают полезные технические вопросы. Чем, заметьте, и занимались, когда только зарегистрировались на ЛОРе — но местные поциенты тут же начали донимать «а что такое делаешь», «а покажи», и в итоге сподвигли топикстартера создать эту эпопею.

Этих багов в публичных релизах нет

Вы все ранние версии проверяли, чтобы подобное утверждать?

Как-нибудь без сопливых разберусь

В контексте проекта сопливыми являются все, кроме его автора. Не обольщайтесь.

опирается на то, что было написано умными людьми в GCC и Clang

Где в GCC и Clang циклы по полям структур?

в графическом программировании?

В создании толковых клонов LabVIEW, которые соответствуют парадигме LabVIEW и не требуют перемешивать диагарммы с текстовым кодом.

провал метапрога как идеи

Провал можно будет зафиксировать в двух случаях: 1) ТС отказывается от идеи; 2) ТС применяет в разработке непосредственно текстовый ЯП. Пока не наблюдается ни того, ни другого, так что Ваше заявление никакими фактами не подкреплено.

Ты был у меня в игноре

Почём Нам знать, у кого Мы в игноре, а у кого нет? Мы просто отвечаем на комментарии.

«Ну позязя, заметь меня, семпай»

Неверное толкование. Мы просто намерены выкурить Вас нахрен с ЛОРа. Прогресс есть, как минимум одно -2 за наглую желчь в сторону ТС Вам всё-таки влепили.

Ложь.

Приложите в таком случае пруфлинк на последнюю намеренную провокацию от ТС.

Видимо, мне не запомнилось оттуда ничего

Значит, и второй раз не запомните. Смысл бисер метать? :P

Я не занимаюсь очевидно ненужными вещами.

Ложь, ведь Вы занимаетесь ею прямо сейчас, отписываясь в этом треде.

пусть покажет свой диплом

Деанон же.

Наука до такого ещё не дошла

Не передергивай.

Ни разу не передёргиваем. Вы сами длительное время клеймили ТС необучаемым дворником, а тут вдруг допустили, что Они волевым решением способны что-то изменить. С чего вдруг?

Разве транслятор не является его частью?

Ну технически там монолитная лапша, так что тут Вы правы ;) Однако засовывание транслятора в редактор диагармм уже никак не оставляет последнему звание «банального».

Зачем он нужен для метапрога?

Чтобы Метапрог был тем, чем он задуман — более лучшим клоном LabVIEW, а не «C в квадратиках», как Вы его обзываете.

Формошлепство составляет лишь небольшую часть программирования

А ещё бо́льшую часть составляет программирование, для которого требуются изучаемые ad-hoc знания в конкретной прикладной области, которые куда важнее описанных «азов» :P Уже после реализации этих знаний можно подключать к разработке макак-байтодрочеров с «азами», которые вылижут код. Но с годами ввиду удешевления железа и роста аппетитов этих самых макак лишний этап становится всё менее актуален.

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

Вы этим пытаетесь убить всю суть форума. Форум для того и нужен, чтобы передавать знания экспертов новичкам. А Вы со своим подходом являетесь здесь бесполезным вредителем. Что однозначно подтверждается тем, что вне Метапрог-эпопеи и тредов рекламы собственных поделий Вы никак в жизни форума не участвуете и на технические вопросы не отвечаете. Соответственно, возникает вопрос: почему Вы до сих пор не в бане. Попахивает блатом.

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

Это у Вас с логикой проблемы

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

«Никому» — это когда последователей у проекта ровно 0

Ну тогда будем считать метапрог успешным проектом. Целых два последователя. Туповатый клоун и недотролль, вершина карьеры которого - цопе в тредах и жалоба роскомнадзору. В принципе, каков проект, такие и последователи. Из адекватных людей же это не нужно НИКОМУ.

подвигли топикстартера создать эту эпопею

Ты сам признавался, что не читал эпопею, так что не выдумывай тут.

Вы все ранние версии проверяли, чтобы подобное утверждать?

Сколько ранние версии должны длиться? За два года можно было отладить циклы, которые уже реализованы в компиляторах. Работы там - всего ничего.

В контексте проекта сопливыми являются все, кроме его автора.

Не передергивай.

Где в GCC и Clang циклы по полям структур?

Не передергивай. Разговор был о тривиальных циклах. И снова: зачем это в метапроге?

В создании толковых клонов LabVIEW, которые соответствуют парадигме LabVIEW и не требуют перемешивать диагарммы с текстовым кодом.

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

Ну и, разумеется, вряд ли можно назвать «толковым» нечто, где не работают циклы.

Пока не наблюдается ни того, ни другого, так что Ваше заявление никакими фактами не подкреплено.

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

Почём Нам знать, у кого Мы в игноре, а у кого нет?

Не ври.

Неверное толкование.

Верное.

Мы просто намерены выкурить Вас нахрен с ЛОРа

Выкуривалка не отросла.

Прогресс есть

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

Приложите в таком случае пруфлинк

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

Смысл бисер метать?

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

Ложь, ведь Вы занимаетесь ею прямо сейчас, отписываясь в этом треде.

Опять же, без сопливых разберусь, что тут является полезным, а что - нет.

Деанон же

Не мои проблемы. Нет диплома - нет пруфа.

Ни разу не передёргиваем

Передергиваешь.

С чего вдруг?

С того, что ему никто не мешает попыпаться стать обучаемым.

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

На этом можно вопрос и закрыть.

Чтобы Метапрог был тем, чем он задуман — более лучшим клоном LabVIEW, а не «C в квадратиках», как Вы его обзываете.

Как это поможет?

А ещё бо́льшую часть составляет программирование, для которого требуются изучаемые ad-hoc знания в конкретной прикладной области, которые куда важнее описанных «азов»

… О чем в течение 30 тредов ТСу и говорили, в том числе и я.

Вы этим пытаетесь убить всю суть форума.

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

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

Это обломает всю идеологию. Как можно задвигать, что в LabVIEW и прототипе Метапрога можно программировать без знания программирования, если для создания Метапрога знания всё же понадобятся?

Это как раз нормально. Чтобы написать язык, которым сможе тпользоваться любая макака, нужны весьма нехилые знания.

отсутствие у проекта ЦА

ЦА на этом сайте не обитает по очевидным причинам.

В том смысле что ТС решил пилить проприетарную кривульку на проприетарной кривульке, да еще windows-only, да еще рекламировать ее на линуксовом форуме?

забить на нее

И что взамен? Какое-то ненужно? А почему Вы пытаетесь навязать топикстартеру какое-то ненужно?

И заниматься чем-то полезным. Чем именно - его дело. Но оборачивание Си в квадратики к полезным делам не относится точно.

В сишечке нет цикла по полям структур.

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

первопроходец

В создании толковых клонов LabVIEW

О как!

Провал можно будет зафиксировать в двух случаях: 1) ТС отказывается от идеи; 2) ТС применяет в разработке непосредственно текстовый ЯП.

В смысле? Он же Си использует. Ну, пытается.

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

Это как раз нормально. Чтобы написать язык, которым сможе тпользоваться любая макака, нужны весьма нехилые знания.

Знания по различным языкам программирования есть у меня, ОПу они практически не требуются.

В том смысле что ТС решил пилить проприетарную кривульку

GPL.

Но оборачивание Си в квадратики к полезным делам не относится точно.

Покажи цикл по структурам на С.

Можете объяснить зачем вообще нужны циклы по полям структур?

Например для (де)сериализации, очень удобно.

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

Бред какой то, но попытаюсь догадаться, и возможно ответить:

struct {
  int i, j, k;
  float r;
  char *s;
} structInstance;

for(std::variant<int,float,char*> i : structInstance) {
  ...
}

В смысле? Он же Си использует. Ну, пытается.

Разработка идет не на С.

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

GPL

Если я правильно помню, GPL обязывает предоставить способ запуска модифицированного поделия. У вас этого нет.

Покажи цикл по структурам на С.

Как я могу показать что-то, чего не знаю? Я ведь сразу сказал что понятия не имею что такое «цикл по структурам» и для чего он нужен.

Например для (де)сериализации, очень удобно.

Да нет. Проще либо экспортировать в бинарный или полубинарный формат, либо в структурированный текст вроде xml. Но для xml нужны имена полей, которых в скомпилированном коде нет.

А на Си - покажите сначала как оно должно выглядеть если развернуть цикл в последовательность. Скажем, для массива это будет выглядеть так:

for(int i=0; i<3; i++)func(arr[i]); //цикл

func(arr[0]); func(arr[1]); func(arr[2]); //последовательность

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

Бред какой то, но попытаюсь догадаться, и возможно ответить:

О том и речь что на первый взгляд «цикл по структурам» выглядит бредом.

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

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

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

GPL

Как узнать, что метапрогер врёт? Он открывает рот.

Условия GPL нарушены: исходники с вендорлоком, и для их просмотра и модификации требуется проприетарная поделка. Это не GPL.

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

Если я правильно помню, GPL обязывает предоставить способ запуска модифицированного поделия. У вас этого нет.

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

Как я могу показать что-то, чего не знаю? Я ведь сразу сказал что понятия не имею что такое «цикл по структурам» и для чего он нужен.

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

Да нет. Проще либо экспортировать в бинарный или полубинарный формат, либо в структурированный текст вроде xml.

Цикл по структурам и помогает обходить структуры для генерации xml, json, бинарных форматов.

Но для xml нужны имена полей, которых в скомпилированном коде нет.

Не нужны, но имена полей будут завезены.

А на Си - покажите сначала как оно должно выглядеть если развернуть цикл в последовательность.

Цикл как темплейт, i как шаблонное значение.

for_each(structInstance, []<typename T>(T field_value) {
  
});

А в том куске кода, что вы привели, что скрывается за многоточием?

Какой нибудь код, например std::cout << i << std::endl;, получится такой вот универсальный аналог print для структур.

Какой же это цикл?

Так можно и сказать что шаблонная функция не функция...

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

Можно, в отличие от неосиляторов типа Гвидо у нас тут зеро-кост решение, без динамики.

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

Не передергивай. Разговор был о тривиальных циклах. И снова: зачем это в метапроге?

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

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

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

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

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

Так есть или рисуется?

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

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

Цикл по структурам и помогает обходить структуры для генерации xml, json, бинарных форматов.

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

Можно, в отличие от неосиляторов типа Гвидо у нас тут зеро-кост решение, без динамики.

Это мы посмотрим когда если вы его допилите.

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

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

Но ты говорил что все строится на gcc/clang а в метапроге ничего сложного

Тебе тоже по носу той же газеткой: не передергивай и не сваливай в одну кучу.

циклы по структурам

Зачем это в языке и что в этом сложного?

шаблоны

Кажется, другие юзеры уже выяснили, что это не шаблоны.

сувт

Зачем это в языке и что в этом сложного?

Когда в питон хоть что то подобное завезут?

Но ведь все это уже есть в более общем виде.

Почему не осилили типизацию?

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

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

Два года обещаний, ноль результатов. Метапрога нет, а прототип нарушает GPL и EULA. Разработчик на все вопросы отмахивается. Далеко пойдете (нет).

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

Но ты говорил что все строится на gcc/clang а в метапроге ничего сложного

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

Нарисовать «хоть какой-нибудь» графический язык несложно, что ИРинат (кажется, он) продемонстрировал давным-давно.

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

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

Не все сразу. А метапрог все ближе, и ничего подобного никто другой не делает, и не обещает.

То, что «метапрог ничего не делает» заметно. А обещать любой может, но толку с таких обещаний.

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

Так есть или рисуется?

Есть онлайн часть и рисуется остальное.

А какой может быть простой ответ на некорректный вопрос?

Очевидно что он не реализуем, не разводи клоунаду. Ну или может я слишком отдаленно написал.

Пока что выглядит ненужным

Настолько ненужно что во всех языках есть аналоги или костыли для этого.

Нет.

Да.

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

И на каждую структуру тебе придется делать функцию которая собирает инфу с указателей.

Для структурированных нужны имена полей, которые в структуре не хранятся.

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

Это мы посмотрим когда если вы его допилите.

Да наверное уже готово, и ОП поправляет возможные ошибки, на днях увидем.

Даже выбор на этапе выполнения нужной функции из перегруженных это уже не зеро-кост.

Там нету перегруженных функций. Для

struct { int a, float b }
из
for(auto i : structInstance)
  printf("%d", (int)(i+i));
генерируется код типа:
int_variant:
add eax, [field.a], [field.a]
call printf, "%d", eax

float_variant:
add feax, [field.b], [field.b]
call printf, "%d", INT feax

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