LINUX.ORG.RU

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

 , , ,


0

3

Скачать:

https://mega.nz/file/ONxVwDJb#zFun6oB2BOxRglVeqNGusssQqT4teCdvtt4dEd0kfV0

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

В 18 версии прототипа добавлен вывод значения переключателя из свича по СУВТ. В остальном она не отличается от 17 версии.

Это позволяет реализовывать весьма интересные вещи, например API для работы с чатом Метапрог онлайн на Метапроге:

https://i.postimg.cc/52xTMR4V/image.png

К блоку операции над структурой надо (не считая константы СУВТ) подключить ТОЛЬКО один из входов определенного типа. Это может быть переключатель (перемикач), задающий значение селектора СУВТ или любой из типов СУВТ. При подключении типов соответствующее значение переключателя СУВТ будет задано автоматически.

Кстати, украинский в Метапроге знать не совсем обязательно. Вот совершенно та же схема без изменений, только язык в настройках поменял на русский:

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

Только кейсы енума, управляющего СУВТ, было лень перевести:)

В версии 17 исправлен серьезный баг с кодогенерацией. В 16 версии при трансляции схем, в которых в ветку с условием «входят» данные извне, код, отвечающий за обработку этих данных (до их входа в условие) мог сгенерироваться после тела условия. Это серьезно тормозило развитие проекта, но теперь в стандартной библиотеке есть демки, успешно соединяющиеся с сервером Метапрог онлайн через Tor (SOCKS5) и работающие с некоторыми методами (проверить версию клиента и логин/регистрация).

Скорее всего, простой чат-клиент Метапрог онлайн с использованием СУВТ можно будет реализовать уже в этой версии прототипа. Если это не удастся - будут багфиксы, но если таки удастся - можно будет приступить к макросам времени компиляции, таким как «многотиповой» тип и цикл по структуре. После чего уже можно будет серьезно переделывать Метапрог «на самом себе».

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

Метапрог-прототип 16 + СУВТ по енумам



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

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

хз, меня не подкалывал так как он никто после бана вроде. На лор можно не писать, а просто читать. Я до первого своего коммента пол года просто читал весёлые треды и новости глядел тут и всё и было норм. А потом вы тут меня испортили… :D

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

«Спрашивать» подразумевает наличие кого-то, кто ответит. Этот кто-то – ты. Обычное текстовое введение вкупе с FAQ сильно упростит тебе, как отвечающему на вопросы, жизнь, при этом никому не придется пользоваться дополнительным сервисом и ждать ответа часами. Кроме того, человек сможет, ничего не устанавливая, решить, нужно оно ему или нет. Если он видит проект впервые, то он сможет заинтересоваться и решить попробовать. Пока ничего этого нет.

Ключевое отличие манов от встроенной справки заключается в том, что они текстовые и их можно читать, не скачивая и не запуская сам метапрог. Это не взаимозаменяемые вещи. Если важны изображения, то можно взять pdf. Если тебя смущает текст, то можно сделать картинки, как в инструкции из IKEA’и.

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

Как говорится, можно смотреть порно, а можно и самому заниматься сексом:)

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

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

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

Написал бы на opengl нодную систему (огл потому что огромные структуры можно делать (и нужно)) в качестве визуала. Было бы красиво и нереально быстро и кроссплатформа из коробки включая вебню и системы дохлые. А с боку кодогенератор сначала на сях. А потом когда быза визуал+кодогенерация были бы готовы с помощью них на самих себя самих себя бы написал уже чисто в нодной системе и всё. Основной посыл говна в твою сторону летит потому что у тебя лютый оффтопик и непонятки с лицензией и правомерностью всего этого. Вот когда у тебя ни бита от лабву не будет, тогда и начнётся самое интересное.

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

Зачем? На lazarus/racket формочек нашлепал и сойдет, как будет нужно, так перепишет. Кодогенератор писать куда сложнее, чем гуйню лепить. И куда важнее.

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

Обычное текстовое введение вкупе с FAQ сильно упростит тебе, как отвечающему на вопросы, жизнь

Спрашивающих пока что слишком мало, так-то я б уже давно его написал.

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

Ну при желании пересечься онлайн не проблема.

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

Пока что целевая аудитория проекта - энтузиасты идеи графического программирования. Жаль, что даже на ЛОРе их маловато - видимо, слишком прикипела здешняя публика к текстовым ЯП. Но я здесь сначала пришел за советами по сишке, либам итп, в чем шарят только текстовые кодеры. И, в общем, получаю их в удовлетворительном количестве (не от таких ЧСВшных хвастунов как liksys, конечно).

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

Да я все никак не соберусь написать статейки для хабра по Метапрогу. Да и спешить пока некуда, пока важнее допилить прототип.

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

Даже на Лабвью это весьма сложно. А уж в тексте все писать... перечитайте как я другу-студенту с курсовой помогал:

Мне, вот, например, надо было помочь другу-студенту с курсовой на Си. Я за менее чем полчаса наваял решение задачи в Лабвью, попутно объясняя что да как - но нужно было именно на текстовом, черт побери, Си. Мы трахались с текстовым кодом часиков так пять, посматривая в лабвьюшные схемы - без них была бы жопа. Где какая переменная, как их назвать на инглише, точку с запятой не забыть, скобки правильно расставить и проча текстовая бредятина, от которой Метапрог (даже в виде недоделанного прототипа) освобождает.

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

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

Да я все никак не соберусь написать статейки для хабра по Метапрогу.

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

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

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

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

Не берусь утверждать, но звучит как влажная история. Си простой как палка, а все точки с запятой расставляются элементарно в том же IDE. В любом текстовом редакторе с поддержкой регулярок это сведется к «найти и добавить ;». Переменные называйте хоть на русском, все мажорные компиляторы это поддерживают. Адепт(ы) кириллицы в программировании на ЛОРе, кстати, есть.

А гуйню шлепать в том же racket’е – проще не придумать. Что думаешь, то и пишешь, и оно работает.

Только что проверил. vis без плагинов. /.[^\}\{;\>\<]$, Shift+A, ;, Esc. Затем тыкать n и (по необходимости) .. Регулярку писал от балды, можно лучше. Эта, например, триггернется

if (...) // на это
{ ... }
Siborgium ★★★★★
()
Последнее исправление: Siborgium (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

Вот когда у тебя ни бита от лабву не будет, тогда и начнётся самое интересное.

Рано или поздно к этому прийдем. Но боюсь, что только через то же Лабвью и протоитп на нем. Ведь

кодогенератор сначала на сях

Мне кажется, что проще на вершину Эвереста забраться.

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

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

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

Не берусь утверждать, но звучит как влажная история

Это реальная история.

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

Я до знакомства с визуальным программированием хотел делфи перевести на украинский. Но визуализация программирования выведет локализацию на новый уровень. Уже выводит - в прототипе Метапрога есть многоязычность, которой мы с Котечкой активно пользуемся.

Си простой как палка

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

А гуйню шлепать в том же racket’е – проще не придумать. Что думаешь, то и пишешь, и оно работает.

Есть то же Делфи, которым я б, скорее всего, и пользовался для написания Метапрога, не будь у меня Лабвью.

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

/.[^\}\{;\>\<]$

Ужас! Не хочу работать с софтом, требующим умения писать подобные каракули из эскейпинга и «зарезервированных» символов. Чего-чего, а в стандартной библиотеке Метапрога я это видеть не хочу. То же касается идиотских нуль-терминированных строк в сишных библиотеках. Для меня каждый возможный байт в массиве байтов (именуемом строкой) должен быть абсолютно равнозначен.

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

этим я могу только гордиться

Гордиться чем, тупорогостью?

Зачем, когда на торрентах и так есть?

Опенсорсный?

Обосновывай потуги

Не в коня корм. 20 тредов объяснял тебе, но ты необучаемый.

С ним общаться толку было б больше, чем с тобой

Для тебя вообще бесполезно с кем-либо общаться, ты абсолютно ничего не выносишь из разговоров.

А кто сказал, что на Метапроге это невозможно в принципе?

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

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

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

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

Что он, что ты, просто не умеете программировать.

Доносчики из 1937 подъехали

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

Перефразирую: фильтруй базар, и все будет хорошо.

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

Ты на голом OpenGL писал интерфейсы? Я – да. Долго, муторно, и метапрогу в целом не нужно в ближайшие пять лет точно. Нет у тебя (и будет нескоро даже в самом лучшем раскладе) такой программы, которая сделала бы боттлнеком именно отрисовку кнопочек. А вот кодогенератор тебе нужно писать уже сейчас, если ты хочешь, чтобы такая программа вообще когда-нибудь могла появиться.

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

Зря. Регулярки нужно уметь хотя бы читать. Эта просто срабатывает на конец строки, перед которым есть один произвольный символ и символ не из списка {};<>.

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

Как, кстати, регулярные выражения будут выглядеть в метапроге? Графикой их не нарисуешь.

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

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

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

ТС убежден, что раз не С, то скриптуха и либо слишком просто и ничего на нем не сделаешь нормального, либо слишком сложно, и ничего на нем не сделаешь нормального. Поэтому он продолжает есть кактус с гуем на С.

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

Как, кстати, регулярные выражения будут выглядеть в метапроге? Графикой их не нарисуешь.

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

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

чтобы затем написать (надеюсь) дескриптивные доки

Прочитал как «депрессивные доки». Задумался.

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

Думаешь прямо делать Метапрог на opengl (opengles?) лучше, чем на SDL и нуклеаре?

Лучше делать на Vulkan API + OpenCL + OpenAL. На OpenGLе вообще не оптимизированно получается. Сам понимаешь, зачем доверять управление видео-памятью драйверу, а не делать самому.

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

Переменные называйте хоть на русском

Вообще-то Метапрог из вильной Украины, и кириллица для него – это не совсем то, что для тебя. Читать маны и код потом будет совсем весело.

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

кодогенератор сначала на сях

Мне кажется, что проще на вершину Эвереста забраться.

Строишь дерево. Обходишь его. На Эверест можно зайти пешком.

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

То же касается идиотских нуль-терминированных строк в сишных библиотеках.

Это мы обсуждали 15 тем назад.

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

Как, кстати, регулярные выражения будут выглядеть в метапроге? Графикой их не нарисуешь.

Придётся ручками собирать машину Томпсона из блоков.

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

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

Когда Метапрога останавливала проприетарность чегобы-то ни было?

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

ТС убежден, что раз не С, то скриптуха и либо слишком просто и ничего на нем не сделаешь нормального, либо слишком сложно, и ничего на нем не сделаешь нормального. Поэтому он продолжает есть кактус с гуем на С.

Он же говорил, что до регистрации читал ЛОР и многое здесь почерпнул. Судя по всему почерпнул именно вот это вот. Его надо на реабилитацию на nodejs.org отправить на месяц.

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

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

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

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

не от таких ЧСВшных хвастунов как liksys, конечно

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

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

Так Nuklear это и есть OpenGL (+?es), там можно рисовать с помощью средств Nuklear, и с помощью средств OpenGL одновременно. Только беря Nuklear мы получаем готовые виджеты кнопок, текстовых полей итд.

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

метапрог реально инновационный

Это же просто accessibility. Должен позволить кодить тем, кто по каким-то причинам на существующих технологиях кодить не может. Возможно, вещь кому-то очень нужная. Но инновацией это не назовёшь. Он не даёт возможность делать что-то, что раньше было делать нельзя. Посмотри вокруг — куча программ уже написана.

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

Это же просто accessibility

Вот кстати да. Самая точная характерестика этого прожекта.

Берем довена, выдаем ему ходунки в виде метапрога, и хоба - он уже не умственный инвалид, а целый, а метапрогер!

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

Зато толернатно. Есть же параолимпийцы, почему не могут быть метапарапрограммисты? И обязать каждую ИТ контору брать в штат не менее 10% таких.

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

@metaprog, мне кажется, на поприще дайверсити ты сыщешь куда большей популярности. Квоты для альтернативно программирующих, права графико-ориентированных меньшинств, вот это вот все.

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

Его надо на реабилитацию на nodejs.org отправить на месяц.

Захожу на тот сайт...

#BlackLivesMatter

Чего еще ожидать от скриптухи поверх джаваскрипта?

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

Нужно мощное лобби в парламентах и кабинетах власти.

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

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

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

Лично я не столько «не могу» в текстовые ЯП, сколько ими брезгую:)

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

Он же говорил, что до регистрации читал ЛОР и многое здесь почерпнул

Больше почерпнул уже после регистрации.

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

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

На РЖД работаешь?

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