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

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

Если я правильно понимаю, то не на самом айфоне, а на сервере, подключенном к айфону.

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

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

мои предсказания на твой счёт постепенно сбываются.

Какие из? Ответить нечего?

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

Это твои проблемы, а не мои.

Это показатель твоей подлости и гнилости, только и всего.

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

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

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

Не надо, в Vim это просто нажатие *.

Ctrl+F?

Каких проводков? Вот метапроговский массив — это проводок?

Это тип данных.

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

И это плохо. Большинство украинцев английский не знает. Разве не прекрасно, что Метарпог позволит им программировать, не изучая английский?

Метапрог эту проблему не решает никак, он вообще уходит от библиотек как явления (кроме C-шных, в которые экспортирумые символы таки текстовые, хехе).

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

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

Мои Лабвью-схемы открыты и выложены под GPL v3.

Нарушая ее.

Окукливание в виме.

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

Какие из? Ответить нечего?

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

Это показатель твоей подлости и гнилости

Ага. То есть, хамишь и ругаешься ты, а подлец при этом я. Металогика как она есть.

Фильтруй свой базар, и никто не будет на тебя жаловаться.

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

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

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

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

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

Большинство украинцев английский не знает.

Вот только большинству украинцев (как и большинству русских, испанцев или китайцев) вряд ли интересен вопрос «что позволит мне программировать».

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

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

Визуальное же программирование не даёт отказ от текста. Вот была тут, если ты помнишь, диаграмма, которую я понял. Так вот, понял я её исключительно потому, что она была тщательно откомментирована. Разумеется, текстом. А потом я увидел другую диаграмму, в которой текста не было. Вообще. И я в ней ничерта не понял (не уверен, но возможно, @stasolog помнит, про какую диаграмму речь, он в том разговоре участвовал).

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

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

А для тех, кто не сочтёт, необязательно отказываться от текстового программирования вообще, есть же среды вроде 1С

Это же язык конфигурирования.

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

Там такое «конфигурирование», что некоторые программисты от зависти удавятся. Полноценный ЯП, только заточенный на информационные системы.

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

Я потому сюда почти не пишу.

Это называется «почти»? Вы в каждом метапроготреде мелькаете, и неоднократно — это уже бесконечно больше, чем пишут в метапроготреды нормальные ЛОРчане (0).

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

без курсора мыши это, скорее всего, будет неудобно

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

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

Текстовые идентификаторы вторичны

Даже у макроблоков кода? Которых в Метапроге нет :3

Ctrl+F?

При чём здесь Ctrl+F? Ctrl+F прокручивает страницу вниз. * переходит на следующую копию токена под курсором.

Это тип данных

Так тип данных — у переменных. А переменные — это проводки. Но ведь массив — не проводок, а блок. Чушь какая-то концептуально получается.

Большинство украинцев английский не знает.

Это те, которые в школе вместо английского немецкий учили?

Разве не прекрасно, что Метарпог позволит им программировать, не изучая английский?

Вы так говорите, будто они без Метапрога не могут программировать. Программируют, и успешно. Беда в том, что поддерживать это говно потом невозможно, проще переделать заново.

острой нужды не было

С проектами уровня хеллоуворлда конечно не будет ;-) Но продумать, как библиотеки будут подключаться, лучше уже сейчас. Чтобы не вышло потом, что делать это можно только через жопу.

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

и в итоге остановился на виме, потому что люблю простые и эффективные решения

И как уклоняетесь от помоев и дискриминации со стороны пользователей IDE? Мы вот уклоняться не осилили, поэтому просто избегаем областей, где принято и объективно продуктивнее использовать IDE (разработка на Java, C++, Python и пр.) Но таких областей всё меньше, потому что жыдбрейнсы уже сделали IDE почти для всего более-менее используемого, кроме разве что Perl/Bash. Пора валить из IT в дворники с Vim-инвалидностью?

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

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

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

тут хотя бы планшет нужен

Планшеты — мёртворождённый класс, они уже вымирают.

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

Привет.

Мои извинения всем участникам за оффтоп (тут правда и так его полно), но @liksys попросил запостить это сюда.

Итак, старый промышленный комп оснащенный операционной системой OS-9 (качество фоток гавеное, снимал на тапок при плохом освещении):

внешний вид https://imgur.com/JcymaZO

передняя панель https://imgur.com/6ZTb7Yr

сзади ничего необычного: штекер питания и кнопка включения https://imgur.com/fZaI2Na

шильдик поближе https://imgur.com/PtGH4jm

унутри https://imgur.com/F1SAERe

вот в таких коробках поставлялись мануалы https://imgur.com/e2Kzeup (к сожалению, кроме этой коробки, ни других коробок, ни мануалов, ни установочных дискет не нашлось, хотя если в старом хламе порыться)

оно таки оказывается включается https://vimeo.com/408498413

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

на метапрог, там только одна расововерная среда разработки.

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

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

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

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

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

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

А что там, собственно, Win9x-подобного?

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

Ну потому Метапрог и не нужен. Хотя когда устаканится окончательный формат диагармм — можно таки запилить сериализатор этого дерьма в текстовый синтаксис по типу dot/TikZ/PlantUML.

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

бредовые фантазии

Это почему ещё? Вам не приходится воевать с завязывающими воркфлоу на IDE коллегами и навязывающими использование IDE работодателями? Ну радуйтесь тогда.

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

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

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

Дубовый привязанный к окошкам фиксированного размера

Уже не привязан!

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

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

В Win9x вполне реализуется менеджеры компоновки. Никакого фиксированного размера окошек.

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

Срсли? Тот горизонтальный скроллбар уже заработал и координаты клика не передаются на старое место? А тормоза с увеличением окна расти перестали?

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

А тормоза с увеличением окна расти перестали?

Нет конечно, ведь чем больше окно тем больше рисовать...

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

Да можно и на спектруме Web-сервер поднять, кто ж спорит. Речь об эпохе интерфейсостроения в целом. Мало кто тогда так делали, отдельное «спасибо» визуальным редакторам интерфейсов, типа как в Visual Basic и Delphi, в которых элементы тупо с фиксированными координатами на форму накидывались.

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

А с первым что?

И в Nuclear-версии GUI, надеемся, не будет этих упоротых строчек подменю, которые к родителю никак не привязаны и размножаются в произвольном количестве? До Metaprog Мы думали, что самый дубовый и упоротый интерфейс в игре RainCat, которая на Haskell сделана. Но оказалось, дно есть куда пробивать.

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

А с первым что?

Хз о чем ты.

упоротых строчек подменю

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

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

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

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

Хз о чем ты.

О полосе прокрутки. Она там тупо длинным прямоугольником.

ты про зеленые прямоугольнички? А на что их заменить то?

На выпадающие подменю, это ж очевидно. Вот в Microsoft Office ≥ 2007 можно на шапке ленты ПКМ → Свернуть ленту. Будет выглядеть как классическое горизонтальное меню, только вместо портянки текстовых пунктов из него вываливается лента.

в свароге

Это ещё что такое?

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

Дак в том и дело, что оно такое, что лучше бы не было. Ещё и падает от нажатия любой непредусмотренной клавиши.

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

О полосе прокрутки. Она там тупо длинным прямоугольником.

На месте, на LabView от нее просто так не избавится. Вот когда на Nuklear перейдем...

На выпадающие подменю, это ж очевидно

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

Это ещё что такое?

Мой метапрог, я еще жаловался в чате что обновление SDL2 мне его сломало.

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

обновление с первого на второй или внутри второго? Что там Латинга и Co могли такого накосяпорить что поломало лучшие образчики славянского ПО?

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

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

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

и не закрываются пока ты не кликнешь на родителя и не закроешь меню сам

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

Мой метапрог

Охренеть, даже метапрогеры убийц метапрога пишут!

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

У концов линий появились пиксели-артефакты. Дичь полнейшая.

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

Так связь с родителем никак не отображается.

Меню выше это родитель, меню ниже это потомок. Зажатое меню красным подсвечивается.

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

Меню выше это родитель, меню ниже это потомок

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

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

По контенту понятно что откуда... У меня это проблем не вызывало. Но наверное действительно надо как то выделять.

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