LINUX.ORG.RU

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

 , , ,


1

3

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

Метапрог-прототип 43: начало переделки «на самом себе»

Скачать

https://mega.nz/file/SARWFB4D#5xZE8MxcEH1W-JvIcdm83ArSbQRdt_ueh86mohc96lQ

В 42 версии были исправлены еще несколько багов. Но она не была своевременно анонсирована на ЛОРе.

В 41 версии исправлены еще несколько багов транслятора.

В 40 версии исправлена трансляция условий в циклах в некоторых случаях.

В 39 версии исправлен баг упаковки, из-за которого не паковался транслятор.

В 38 версии исправлен баг трансляции рекурсий на некоторых схемах. Он проявился, когда добавилась рекурсия в функции отрисовки графического интерфейса.

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

В новой 36 версии прототипа Метапрога существенно улучшена скорость работы графического редактора. Те, кто раньше испытывали проблемы с медлительностью редактора (например, mertvoprog), приглашаются попробовать новую версию.

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

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

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

По итогам первоапрельской шутки я все же увидел, что на ЛОРе все же есть ради кого оставаться.

Первоапрельская шутка:

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

Многие на этом форуме советовали мне бросить LabVIEW и я очень сожалею, что принял это решение только сейчас. Два года потрачены впустую! Особенно был прав liksys, долго пытавшийся меня вразумить: на python чего только не пишут, зачем заморачиваться с визуальным программированием, особенно с опорой на Си?

Что дальше? Скорее всего, буду по-настоящему учить текстовые ЯП. Какие посоветуете и по каким книгам?

С праздником!

Предыдущая тема:

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



Последнее исправление: metaprog (всего исправлений: 9)

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

Намного интереснее рассмотреть как будет происходить чтение существующего кода, модификация, итд.

О, так кто из вас всё-таки начал заниматься этими вопросами? Мы увидим новый контент?

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

Сейчас налаживаю автоматическую десериализацию и усложняю структуры. В следующей (43) версии должна быть отображалка метапроговских типов на самом Метапроге.

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

Вот например, я знаю, что у QString есть метод startWith(), проверяющий, с той ли подстроки начинается строка. Что быстрее — набрать на клавиатуре 3 буквы sta и шарахнуть по Enter для автодополнения или лезть в меню (панель инструментов), прицеливаться и выбирать там эту операцию среди других операций работы со строками? А строковых операций дохрена, я себе представил размер этого меню/панели, и мне уже поплохело. В тексте — быстрее. Не на проценты, а в разы.

Для этого будет поиск: по названию функции, по типу (какой тип данных функция принимает/выдает) и многим другим параметрам.

Остальное написал MOPKOBKA.

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

Ну, подождал. Ты правда надеялся получить какой-то ответ?

@metaprog в своем репертуаре. Проигнорировал неудобную часть вопроса и понес бред про поиск.

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

Когда твое поделие само на себе-то будет? Кому нужны твои структуры? Язык где, где прогресс? Почему топчешься на месте уже три года?

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

Я по твоим помойным ссылкам не хожу. Сколько раз повторять? Учись говорить как человек.

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

@hobbit И вот ты правда думаешь, что конкретно это существо обучаемо?

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

Для этого будет поиск

Надеюсь, что голосовой.

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

Для этого будет поиск: по названию функции

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

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

Мой способ для обучаемых получается намного быстрее. :)

А поиск по типу не очень полезен в этом случае. К примеру, если я у того же QString начну искать все функции с целым аргументом, туда попадут и left(), и right(), и скореее всего, ещё дофига вариантов.

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

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

Можно сделать что бы просто набирая уже высвечивалась подсказка.

Поставил после имени объекта точку или там ->

Начал отводить проводок и там подсказка что может принять этот проводок.

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

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

Когда в прототипе Метапрога появилось слишком мнгого функций, я начал пользоваться Ctrl+F по их именам. Это то, что предлагает Лабвью. А в Метапроге можно будет сверх этого придумать и много чего поинтереснее. Вот я ввел порівня... (сравне...):

https://postimg.cc/NLHd7GqD

Пара двойных кликов и вуаля:

https://postimg.cc/xJ0bkR2B

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

А поиск по типу не очень полезен в этом случае. К примеру, если я у того же QString начну искать все функции с целым аргументом, туда попадут и left(), и right(), и скореее всего, ещё дофига вариантов.

Намного интереснее поиск по сложным типам: структурам, СУВТ итп.

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

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

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

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

отрыжке американских копирастов

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

Даже собаки не кусают кормящую руку. Да ты на них молиться должен бы, по идее.

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

В html выбор языка делается с помощью hreflangов поисковые системы это любят, но все равно я не понимаю что это за строки у тебя такие? Как это работает?

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

Многоязычный текст - массив из структур. Структуры состоят из текста и названия языка (тоже в виде текста). Например: https://postimg.cc/Ff1sJfSq

Также развернутая справка по типу данных: https://postimg.cc/PC0rYXM5

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

Добавление новых языков - дело техники

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

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

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

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

Думаю, ты понял меня. Давай теперь по делу. Что там с метапрогом на самом себе?

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

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

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

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

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

@MOPKOBKA заикался про то, «как будет происходить чтение существующего кода, модификация, итд». И вот там тривиальных решений нет. Там думать нужно. Возможно, вообще адекватных решений не существует. И вот тут от вас только тишина.

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

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

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

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

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

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

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

Где твои коммиты в Skyvis, начатый arturianec100 в 2019? Текстовый C++, популярный фреймворк Qt. Месяц неспешного кодинга, говоришь?

https://github.com/arturianec100/skyvis

Оправдывайся

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

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

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

Наверное, мы чутка друг друга не понимаем. Постараюсь объяснить.

Текстовая (строковая) переменная - это по скрину https://postlmg.cc/PC0rYXM5 string. Две текстовые переменные собраны в кластер («рядок» - строка, «мова» - язык). И есть массив из этих кластеров, образовывающий по сути многоязычный текст.

Это пример данных многоязычного текста (два кластера в массиве): https://postimg.cc/Ff1sJfSq

Если и так не понятно - не стесняйся переспрашивать.

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

Ну-ка найди хоть одно мое сообщение, что я подписывался сделать что-нибудь подобное

Ну и что? Ты ж так уверенно утверждаешь, что можно написать что-то подобное Метапрогу за месяц неспешного кодинга. Где же написанный за месяц Skyvis? Почти 3 года висит на гитхабе, C++, Qt - что arturianec100 сделал не так?

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

А вот ты подписывался, но ничего не сделал.

Боишься сходить по ссылке на мегу? Вдруг тебя там пошлют не туда куда тебе б хотелось?

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

Ты ж так уверенно утверждаешь

Потому что я инженер, в отличие от тебя, дворника. У меня есть соответствующая квалификация, чтобы давать такие оценки.

Где же написанный за месяц Skyvis?

Автору банально наскучило. А вот @i-rinat наглядно показал, что конструктор диаграмм можно сделать за неделю. Когда же тебя приперли к стенке этим фактом, ты начал истерить, плакать и стучать ножками, крича «ВРЁЁЁЁТИ!!!111 НИЩИТОВА!!!111»

Боишься сходить по ссылке на мегу?

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

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

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

А вот @i-rinat наглядно показал, что конструктор диаграмм можно сделать за неделю.

Пока он сделает нормальную проводку, разветвление, подсветку типа, и прочие вещи уйдет еще пару недель. А когда доделает транслятор пройдет еще пару недель (десятков).

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

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

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

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

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

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

Забавно, что ты отсылаешься к этому эффекту, но не понимаешь, что вы со своим хозяином как раз его и демонстрируете :3

Очень и очень примитивный, к сожалению никто его повторить не может «за пару дней на clojure»

Это говно просто никому не нужно, и все грамотные люди это понимают.

Еще раз: почему за три года до сих пор не сделан метапрог сам на себе? Оправдывайся, бегом.

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

Это говно

Почему ты не можешь сделать лучше?

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

Ложь от бессилия...

и все грамотные люди

Детский прием, я вот не понимаю, а явно поумнее тебя бездаря буду.

Еще раз: почему за три года до сих пор не сделан метапрог сам на себе?

Потому что ты не помогаешь проекту, биткоин кошелек в описании.

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

Почему ты не можешь сделать лучше?

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

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

Давай-давай, продолжай оправдываться. Я внимательно слушаю.

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

Если бы это было кому-то нужно, то у вас ...

Ого, а это по каким великим законам происходит? А может должны были ангелы спуститься с небес? Какое у тебя десткое, глупое мышление %) Контрпримеры даже приводить не буду.

«Метапрог сыроват, чтобы предлагать его профанам, а не задротам, еще допиливать надо.»

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

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

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

Не пытайся клоунадить, мы оба прекрасно понимаем, что вы обосрались :)

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

По общечеловеческим.

Таких не существуют, проповедуй свой бред в другом месте.

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

Во первых ты не знаешь какие идеи он вообще содержит, во вторых V-lang их реально не имеет.

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

Таких не существуют ВРЁЁЁЁЁЁТИИИИ

Продолжай себя убеждать)

Во первых ты не знаешь какие идеи он вообще содержит

30 тредов слежу. Содержит си в квадратиках, соединенных жгутиками, и всё. То есть, ничего нового. Или побежал перечислять ваши идеи.

во вторых V-lang их реально не имеет

Мальчик, тебе не говорили в твоем ПТУ, что вотэбаутизм - не аргумент?

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

В этой сишной трансляции почему-то две ошибки. Что там не так?

https://mega.nz/file/OV431AJK#ObA6XlCJvx6SKJfXgZsbkOADdjwKrze5gSiQIAvs8sY

Неужели после лейблов типа

case x:

нельзя объявлять указатели на структуры? Когда перемещаю объявление в другое место - работает. Баг в clang?

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

Тууу ту ду туууууууууууууууу.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от metaprog

Можно без области видимости обойтись?

Вот, попробуй почитать:

https://stackoverflow.com/questions/92396/why-cant-variables-be-declared-in-a-switch-statement

Там говорят что можно добавить ; вместо {}.

Прикольно, я этого не знал…

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

Баг в clang?

Баг в ДНК

В этой сишной трансляции почему-то две ошибки. Что там не так?

А как хвалился-то, что знаешь си. Не знаешь :)

За три года даже примитивный транслятор все еще не заработал. Это какой-то позор.

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

попробуй почитать

Ты серьезно? Дупапрогеры не читатели, дупапрогеры писатели. @metaprog сюда за готовыми ответами ходит, чтобы свой дупапрог делать, а не читать.

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