LINUX.ORG.RU

Метапрог-прототип 13 + LOR Browser

 , ,


0

4

Поздравляю всех присутствующих с годовщиной первой темы про Метапрог!

LOR Browser, версия 35

В честь праздника представляю почтенной публике проект LOR Browser - просмотрщик ЛОР-тем с зумовым интерфейсом. Это то, что можно сделать на прототипе Метапрога спустя год активнейших обсуждений на ЛОРе.

Почему сразу 35? Потому что таков номер последней версии проекта LOR Browser в Метапрог онлайн.

В Метапрог онлайн можно скачать исходные диаграммы LOR Browser (старое название - Лоральмолог).

Сишную трансляцию и скомпилированный бинарный исполняемый файл можно скачать здесь:

https://www51.zippyshare.com/v/UTqVmrY8/file.html

Как пользоваться

1. Скачать ЛОР-тему в HTML, лучше всего - длинную страницу, которая открывается по кнопке «Показать удаленные комментарии» внизу страницы с ЛОР-темой.

2. Указать на htm-файл скачанной страницы.

3. Масштабировать и перемещаться с помощью колеса мыши. Перемещение зависит от положения курсора относительно центра окна (нулевое перемещение в центре и максимальное у краев).

Планы

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

LOR Browser - не только хороший способ продемонстрировать возможности последней версии прототипа Метапрога, но еще и способ вплотную подобраться к сборке диаграммера - основного компонента будущего Метапрога «на самом себе».

Дополнительно

В разработке LOR Browser активнейше участвовал stasolog, он же Котечка, что и является причиной активного обмена пакетами через Метапрог онлайн, приведшего к появлению аж 35 версии LOR Browser. Кстати, подобным образом нумеруются версии игры Oxygen Not Included, последняя версия которой аж 399948. И игроки, и разрабочики прекрасно ориентируются в этих цифрах, при этом не заморачиваясь со сложной нумерацией версий.

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

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

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

Метапрог-прототип, версия 13

Скачать:

https://www95.zippyshare.com/v/HKdrYe8e/file.html

В 13 версии исправлен импорт сишных инклюдов, исправлен баг трансляции и внедрена еще одна оптимизация в транслятор. В остальном она не отличается от 12, даже LOR Browser 35 в 12 версии прототипа может оттранслироваться корректно (если пользоваться скомпилированными ехе, где нет остановок транслятора на брейкпоинтах, которые были в 12 версии).

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

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

Метапрог-прототип, версия 11 + бенчмарк

Первая тема про Метапрог, с чего все начиналось:

Metaprog: универсальная графическая среда программирования [в разработке]

Для праздничных подарков:

Bitcoin:1AYoK2TScSpD5bhf67mv9AxHDJ2RidRvjD

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

Предлагаю тебе написать эмулятор PS2 без использования математики.

P.S: Интересно, а насколько тебя хватит?

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

успех, однако

отличный вариант. станет легендой среди адептов визуального пр-я – «он почти нарисовал * и тут его забанили». замечания адекватов «как это помешало разработке?!» легко парируются «фу, ты анти*!»

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

В том что делаю я (например прототип Метапрога и Метапрог онлайн) математики мало.

metaprog ()

Поздравляю всех присутствующих с первым годом моего пребывания на ЛОРе!

Накатим.

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

Фильм был такой, «Молчание ветчины», метапародия (о, в тему как раз!). Там в финале в конце персонажи по очереди срывали с себя маски. Так где-то после пятой итерации маскосрыва главным злодеем оказался Паваротти.

Вот я и думаю, может метапрог будет срывать маску за маской и в финале окажется, что это Билл Гейтс, нет, Касперский, нет, Дональд Кнут, нет это был Алан Тьюринг.

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

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

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

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

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

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

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

трансляция блоков в код виртуальной машины

А-ля джава что ли? Не лучше ли тогда сразу LLVM IR?

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

спакуха, его пiдсрачнiк котечка сказал, что О-нотации в реальной жизни не работают, а значит можно только на циклах и сувт все сделать быстрее в 100 раз.

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

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

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

Ты опять не понял?

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

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

работа с графами - это тоже математика

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

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

да ты охерел хению такую абстракцию предлагать!

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

Хммм, а что понимать под «виртуальной машиной»? Стандартную библиотеку?

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

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

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

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

:)

это «графика» она сложная, без неё лучше – текстом, с матаном, чтобы я не напрягал зрение, а только мозг.

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

Аааа… то есть тупо хреначить куски голого Си лучше? Я даже не знаю, как комментировать это…

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

чем ВМ java хуже LLVM IR? сам подумай зачем, в шланг добавили такую абстракцию, как виртуальная машина.

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

А чем оно хуже, чем велосипедить виртуальную машину? Или брать готовую?

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

Ему предлагали виртуальный код уже, первым делом. Как раз годовщину отмечаем. И АСД (AST) тоже. Что кстати могло поспособствовать созданию сторонних генераторов и вообще значительно усилило нужность этого перформанса.

Итог один: не понимает, или прикидывается – разницы нет.

Предлагаю не пытаться давать дельные советы, а расслабиться и наслаждаться зрелищем.

anonymous ()
Ответ на: :) от anonymous

Re: :)

текстом, с матаном, чтобы я не напрягал зрение

Подкаст лучше, где проникновенный интимный голос будет нашептывать последние достижения метапрога. АСМР и все такое.

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

Объяснений нормальных нет, только провокация флейма с целью подразнить модераторов.

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

Я задал вопрос:

А чем оно хуже, чем велосипедить виртуальную машину? Или брать готовую?

Ответа не вижу. Хотя чего я ожидаю от злостного антиметапрогера? Очередной обиженный. Нечего модераторов дразнить. www.linux.org.ru/forum/linux-org-ru/15594364

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

Тебе б еще не обнулили за дергание модераторов попусту.

metaprog ()

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

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

Хорошо же сидели. Вы чего? Это у г-на Метапрогра стиль такой, эпатаж, игра на публику. Завтра выйдет сюрприз, нужно потерпеть.

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

Бремя доказательства лежит на утверждающем

Эта мантра настолько же популярна, насколько ложна.

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

А что со мной стало то? И как ты к этому причастен? Я просто перешел в анонимы, старый аккаунт цел.

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

В этих тема она непопулярна. Так что…

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

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

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

Вообще то это не мантра, и это верное утверждение.

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

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

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

не обязан приводить аргументов

Кому?

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

Откровенно говоря, ваш вопрос поставил меня в тупик. Действительно, кому. Тем не менее, сможете ли пояснить, почему считаете «мантру» неверной?

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

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

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

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

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

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

Сайты — фу, вся вебня построена на текстовых языках разметки и прогарммирования.

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

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

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

дурацкие идеи

Надо из каждого человека сделать серый квадратно-гнездовой винтик-зашкваринтик? А вот хрен вам! ШУЕ! ППШ! ШПШ!

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

с консоли

Ненужно. Для текстовой консоли есть текстовые ЯП.

mertvoprog ()
Ответ на: Re: :) от anonymous

Re: :)

Кстати, «золотая жила» толком ещё не разработанная – аудио «звуковое программирование». Ничего набирать-рисовать не надо. Надо только микрофон, наушники(динамики) и … звукопрог© (и компьютер, конечно) Сначала просто проговариваешь код программы:

Прототип №1.
"Выведи на экран 'Хелло ворд', 'готово'" -- сразу видны преимущества голосового интерфейса: переключать раскладки не нужно.

Прототип №2
"Скажи 'Хелло ворд', 'готово'" -- вот мы и освоили звуковой интерфейс

Прототип №3
" Сложи 4 и 5, 'готово'" -- как у метапрога без переменных, только данные.

Прототип №4
" Пусть 'а' равно 10, а 'бэ' равно ... , 'готово'" -- вот и сложный софт с матаном подъехал

...

Прототип №...
" Есть такая задача ... Реши её, 'готово'" -- цифровая мечта всего прогрессивного человечества, заветная кнопка "Зашибись"

Релиз звукопрога 1.0

- "Нарисуй мне метапрог, ну пожалуйста!"
- "Неправильный ввод, исправьте ошибки и повторите..."
- "Нифига этот ваш звукопрог не может..." :(


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

не помнит что такое полный квадрат

А зачем помнить всякую терминологическую зубрёжку? Мы вот тоже про него забыли давно. Это из той же оперы, что периоды (3,(6), например, которые на практике вообще нигде не используют и не говорят «три целых и шесть в периоде», или палетки. Просто школьный мусор. Не зря в ВУЗах в первый же день говорят: «Забудьте всё, чему вас учили в школе».

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

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

anonymous ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)