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)

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

Может, мы тебя не так понимаем. Ответь как можно подробнее на эти вопросы:

1. Что ты понимаешь под UB?

2. Чем оно опасно?

3. Где конкретно оно есть в метапроговских схемах?

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

Метапрог вроде в С тоже через write выводит…

fwrite

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

Экраном

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

Торук Макто. Фирштейн?

Моя твоя не понимать.

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

А мне поддержка от M$ не нужна. Я не припомню чтоб хоть раз в жизни обращался в ихнюю (да и любую другую) техподдержку.

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

Это не ответ на вопрос. Впрочем ты как обычно.

А мне поддержка от M$ не нужна

Это не повод страдать некромантией.

Может, мы тебя не так понимаем.

Аккаунты с мертвопрогом перепутал?

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

7 жирнее, но на худой конец сойдет. Кстати, тоже не поддерживается с января этого года. Более-менее нормальные винды копирасты из M$ всеми силами херят, вместо чего агрессивно навязывают убожество в виде 10. Которое даже пиратить противно - а они еще и умудряются навязывать это троянное дерьмо за деньги. КАК у них это получается?

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

  2. программа делает не то что думает ее автор

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

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

Зато создает адские лаги, с которыми бороться очень тяжело. Высокоуровневая скриптуха не избавляет от проблем, она заменяет одни проблемы другими. А вообще Лабвью, скорее, «среднеуровневая» скриптуха - элементарные блоки, котоырми я пользуюсь, достаточно простые и многие из них уже повторены в стандартной библиотеке Метапрога.

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

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

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

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

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

убожество в виде 10

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

КАК у них это получается?

Да так же как и всегда. Каждые новые окошки сильно ругают на выходе.

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

Это не повод страдать некромантией.

Если ты под «некроманетией» подразумеваешь пользование ХР, то у меня нет причин переходить на 7 или упаси боже 10 на старых машинах. На которых в новые игры особо не поиграешь, а старые и так идут, так же как Лабвью 2013 и другой нужный мне софт. А если что не идет - есть новый ПК и линукс с вайном.

Аккаунты с мертвопрогом перепутал?

Мы с Котечкой. Я о себе во множественном числе не пишу.

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

программа делает не то что думает ее автор

Если это происходит - я исправляю баг в трансляторе. И программа делает ровно то, чего я от нее ожидаю.

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

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

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

А если что не идет - есть новый ПК и линукс с вайном.

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

Мы с Котечкой.

«Я уважаю пирата, а я уважаю кота».

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

Черти, что тут скажешь. Я несколько лет назад получил новый ПК, а хр на него уже не шла. 7 или 8 еще можно было вроде поставить, но еще тогда было понятно что через несколько лет жлобы из M$ их похерят, навыпускав новомодных директиксов и прочих говнофреймворков только под 10. И, разумеется, единственным разумным решением для уважающего себя человека было стать линуксоидом.

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

Да на стартовом экране Метапрог.Онлайн вроде как было написано, что нужна определённая версия TOR Browser… Потому что актуальные как раз не пашут.

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

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

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

Ну так ХР на старых ПК и виртуалке, на новом линукс.

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

Если это происходит - я исправляю баг в трансляторе.

При условии что этот баг был замечен.

И программа делает ровно то, чего я от нее ожидаю.

Это только пока Вы хэллоуворлдами балуетесь.

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

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

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

КАК у них это получается?

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

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

даже если у вас паранойя, это не значит что за вами не следят!(с)

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

по моему очевидно что метапрог под шпионажем понимает телеметрию, присутствие которой в винде 10 - факт

некрасиво так вести дискуссию

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

прожорливость

Каждая новая версия окошек прожорливей предыдущей.

роллинговая система обновлений

Живет и работает.

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

Гарантированно — никак, как и в принципе из всего, что лезет в интернеты. Даже в опенсорс могут закладок напихать. И даже собственноручно созданная система не является гарантированно неуязвимой. Лучше в эти ваши интернеты вообще не лезть без особой причины. Банки вон некоторые так и делают, там критическая инфраструктура от Интернета физически изолирована, специально обученные мартышки перепечатывают платежи с одной машины на другую. Хотя даже такое можно хакнуть при большом желании, см. историю со StuxNet.

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

Хм, но выше метапрог отрицает подобное, и говорит что давно перешел на V3 и что tor как проект продолжает поддерживать windows xp. Так чья правда правдивее, может он просто забыл поменять эту надпись на стартовом экране.

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

по моему очевидно что метапрог под шпионажем понимает телеметрию, присутствие которой в винде 10 - факт

ну пусть так и пишет тогда телеметрия. А иначе

некрасиво так вести дискуссию

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

Каждая новая версия окошек прожорливей предыдущей.

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

Живет и работает.

Как она должна «жить и работать» в оффлайне, например? Или если трафик очень дорогой? Или пользователю апдейты ни к чему, потому что они похерят бинарные патчи?

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

речь идёт о множестве виртуалок

Да я уже понял что ТС линуксойд на виртуалке с XP.

Как она должна «жить и работать» в оффлайне, например?

Отключи обновления, живи и работай.

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

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

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

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

Системные требования Windows 10 где то в 30-40 раз превышают XP'шные.

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

роллинговая система обновлений

LTS версия же практически не обновляется.

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

А UWP?

А шо це?

Там добавилась WSL, но что кроме дерьмовой сущности мешало им сделать WSL еще для ХР?

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

А это значит

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

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

Да, но лучше нам, конечным пользвателям, от этого не становится.

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