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

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

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

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

По крайней мере это точно полезнее, чем твой недо-qvariant, нужный только тебе.

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

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

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

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

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

Это был сарказм.

пойдешь ли ты наконец учить плюсы?

Глотать талмуды Страуструппа и Александреску?

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

Эдакая стандартная библиотека регулярок

В которой ВСЕ случаи не предусмотришь. И в которой все возможности надо учить, зубрить. А если чего нет в стандартной либе - страдать, а с брейнфаками-регулярками - страдать вдвойне. Вот за это я и не люблю скриптуху. смотри как я на Лабвью IPv4 легко проверяю:

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

Надеюсь, у тебя хватит ума понять эту схему. Может еще психану и соберу проверялку для IPv6, останавливает меня лишь лень лезть в википедию (наизусть стандарт IPv6-адресов не помню).

По крайней мере это точно полезнее, чем твой недо-qvariant, нужный только тебе.

Поживем-увидим где будет Метапрог и где будут брейнфаки с дурацкими регулярками.

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

Глотать талмуды Страуструппа и Александреску?

Я бы порекомендовал Стивена Прату, на самом деле. У него легкие для чтения книжки, он больше по практике, чем по теории. Я, когда классе в 9 учился, с них и начинал. Думаю, для тебя бы тоже подошло.

В которой ВСЕ случаи не предусмотришь

Это ты щас топишь против наличия стандартной библиотеки? Ты же хотел сделать стандартную либу для своего поделия. Как же так, ведь в ней тоже все не предусмотришь! Поскольку твоя поделка не дружит с отладчиками и генерирует говнокод (скриптуха, ха-ха), ты (или кто-то из твоих прилипал, не помню), предлагал делать обертки для метапрога, потому что с обычной сишкой будет работать хреново из-за невозможности обработки корок и прочего. Разве тут не получается?..

А если чего нет в стандартной либе - страдать

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

Надеюсь, у тебя хватит ума понять эту схему.

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

Поживем-увидим где будет Метапрог и где будут брейнфаки с дурацкими регулярками.

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

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

Я бы порекомендовал Стивена Прату

1200 страниц. Я ставлю на то что ТС не захочет/осилит.

https://www.amazon.com/C-Programming-Modern-Approach-2nd/dp/0393979504 Вот это по Сишке читаю, подробно и интересно как по мне.

Вообще хорошо жить в век интернета https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list

Тут тоже книгу Стивена рекомендуют для начинающих.

пришли уже к консенсусу

Теме к 30й может быть. Но это не точно :).

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

Если книжками делимся

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

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

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

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

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

Так и что тебе мешает использовать тот же антикс на старых компах сейчас вместо XP? Последняя версия вышла 28 марта, явно посвежее, чем последний сервиспак к XP. :)

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

Вообще количество страниц логично.

Это заговор авторов талмудов. Дабы больше денег из метапрога вытянуть :)

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

Так ему оно и не надо. Пишет хеллоуворды особо не напрягаясь, тем и рад. Все происходящее я так понимаю. А все похвальбы и обещания либо троллинг, либо глупость(как там Эффект Даннинга-Крюгера вроде).

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

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

Впрочем ему все диагнозы еще в первой теме выставили. Пока не опроверг на мой взгляд.

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

Глянул на минимальные требования Антикса. Почет и уважение создателям дистрибутива. Но ТС у нас линуксойд на XP так что все норм. Я вот тоже линуксойд на 10ке XD.

Но если серьезно, я так понял у него Метапрог в линуксе не пашет из за проблем с кодировкой. А проблемы из за закрытости формата Labview. О вреде закрытого формата ты писал еще в ранних темах вроде.

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

Торук Макто

Спасибо Кэмерону и потребителям киножвачки эту цитату фиг загуглишь.

Но вообще с Чернышевским это слишком тонко :).

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

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

киножвачки

История Покахонтас адаптированная Кэмероном.

Но вообще с Чернышевским это слишком тонко :).

Аз-за-за.

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

киножвачки

«Аватар» — гораздо более умное и тонкое кино, чем может показаться на первый взгляд. Один факт, что у криптоолигархофилов, выдающих себя за коммунистов (да, я про Дим Юрьича, ежели кто не понял) от фильма подгорело, очень о многом говорит.

Но вообще с Чернышевским это слишком тонко :).

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

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

TL;DR

И эти люди ещё отсылают всю Метапрог-эпопею читать! Экое лицемерие!

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

Речь не о том, можно ли сделать, а что такой целью пока не пахнет.

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

чуточку

Ну-ну ;)

не осилили даже самых базовых понятий

Которые Вы сами выдумали?

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

Ну и нахрен нужны процессоры и видеокарты, которые не поддерживают лучшую винду всех времён (если бету LongHorn не считать)? Бойкотировать их надобно!

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

сраная регулярка

Ну не труЪ же. Переделайте всё схемой.

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

И в которой все возможности надо учить, зубрить

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

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

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

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

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

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

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

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

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

А вот блоки со связями – это попытка эксплуатировать пространственную память. Т.е. вообще не имеет отношения к мыслительному процессу как таковому. Но увидев две одинаковые схемы с одним мелким отличием – это отличие не заметишь. Т.к. пространственная память на мелочи внимания не обращает.

По сути Метапрог – поделка для людей со стороны (макак), но никак не для профессионального программирования. И применимость её, например, – вариации соединения сложных устройств. Что по собственным словам Метапрога – скриптуха.

По сути Метапрог – мёртвый проект. Нужный только ТС для каких-то своих, далёких от программирования целей. Или короче – водомесство.

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

Человек вообще обучен

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

увидев две одинаковые схемы с одним мелким отличием – это отличие не заметишь

А в двух портянках текста оно сразу будет заметно? Серьёзно?

далёких от программирования целей

Почему это?

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

А в двух портянках текста оно сразу будет заметно? Серьёзно?

 — А в двух портянках текста оно сразу будет заметно? Серьёзно?
-— Это зависит от ситуации.
+— Да.
i-rinat ★★★★★
()

И кстати, раз уж я тут влез в тему.

Вот ТС планирует конвертировать сишный код оперсорсных проектов типа ядра в свою чудо-среду, затем делать там правки. А отдавать правки он планирует? Если да, то как это будет выглядеть? Или это одностороннее мероприятие: код только берётся, и сотрудничества никакого производиться не будет?

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

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

Почему же искусственно. Есть такая штука – любопытство.

А в двух портянках текста оно сразу будет заметно? Серьёзно?

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

Почему это?

Основа – LabVIEW, например.

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

diff — технический костыль, восприятие информации здесь ни при чём.

Причём для диагармм его сделать очень даже просто: взять и расположить два полупрозрачных варианта друг над другом, а ещё лучше — один в негативе. Верстальщики сто лет таким пользуются для Pixel Perfect.

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

отдавать правки

Ещё чего! Ни байта в развитие текстовых ЯП! Все на Метапрог!

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

Есть такая штука – любопытство

Ну и многие вызубривают тысячи китайских иероглифов из чистого любопытства?

Метапрог сравним только лишь с говнокодом

Ну да, непрофессиональные программисты неговнокод делать не умеют ;)

Основа – LabVIEW, например.

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

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

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

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

Ну парсеров-то много. Хотя бы тот же CastXML. А вот как он сишную AST в своё творение будет транслировать, тот ещё вопрос.

А уж сколько памяти это всё будет жрать…

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

Ну и многие вызубривают тысячи китайских иероглифов из чистого любопытства?

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

Ну да, непрофессиональные программисты неговнокод делать не умеют ;)

Профессиональный программист может себе позволить не делать говна. В отличии от.

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

Ты ещё два проводка скрути и скажи, что программируешь.

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

Нужно учить фразы в ситуациях. Просто слова – каша в голове.

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

Хочешь говорить

А при чём здесь речь, когда речь о письме?

Да и речь, в первую очередь, о самих китайцах. Речь-то они изучают с пелёнок, а вот письмо приходится зубрить.

Профессиональный программист может себе позволить не делать говна

Вопрос только — зачем. Когда стоит задача просто сделать. Тут говнокодофобия как раз боком может вылезти.

Ты ещё два проводка скрути и скажи, что программируешь.

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

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