LINUX.ORG.RU

Метапрог-прототип 43: начало переделки «на самом себе»

 , , , ,


2

4

Скачать:

https://mega.nz/file/fUhEjbCI#1LbpnccSm_SkwJi5Bugwc679tFxj7YJzCTOQxmxHvq0

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

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

У Метапрога появилась часть, полностью собранная уже на самом Метапроге. Тот самый Метапрог «сам на себе», пусть даже пока что в небольшой бекенд-части. Бекенд находится в папке «бекенд», есть линуксовый бинарник и сишный исходник (для компиляции бекенда на Windows и других платформах). С LabVIEW-частью Метапрога работает по сети, используя бинарную (де)сериализацию. Транслятор может работать и без него (если не может соединиться с ним по сети), но его наличие упрощает компиляцию (не надо вручную вызывать компилятор) и способствует некоторой оптимизации трансляции.

Пока что бекенд только записывает с-файл, вызывает компилятор, а также создает инклуды в процессе трансляции, чтобы уменьшить размер кода и тем самым оптимизировать потребление памяти у сделанного на LabVIEW транслятора. Но пока что не удается оттранслировать схему, отображающую типы в дереве: транслятор вылетает из-за того что «обжирается памяти».

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

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

Предыдущая тема:

Метапрог-прототип 42



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

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

А подробнее?

Подробней: ваша нервная система медленнее JSON-RPC.

Лучше комбайн чем огрызок.

Огрызок никто и не предлагает.

И че? Это что то меняет? Могу подыграть и сказать что знак доллара валидный символ даже в C/C++ (gcc), парируй

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

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

Подробней: ваша нервная система медленнее JSON-RPC.

АХАХА

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

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

НЕУДОБНО, кловуны оставят это без ответа.

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

Ну увидел царь class AbcDef { public ... } и подумал что Java, это ничего не меняет. Где rebforcer? Он любил к запятым придиратся, достойная помощь в борбе с монархизмом!

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

ваша нервная система медленнее JSON-RPC

Даже питона медленнее, хотя и не всегда.

metaprog
() автор топика

Ветку где упоминалась уколизация жижей потерли. Но ее хватило, чтобы понять, что liksys поехавший не только по ЛОРу, но и по жизни в целом.

Его, конечно, одергивали (спасибо karaien, kolpakchi, mertvoprog), но все же было бы интересно узнать мнение администрации в лице hobbit и прочих о поехавшем, опустившемся до прямого пожелания смерти. Это уже не про правила, это уже нечто за гранью добра и зла. Если надо - перенеси в спецраздел.

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

Спасибо! Всех наших сторонников и симпатиков с праздником!

Как считаешь, ЛОР стоит моего присутствия?

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

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

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

Как считаешь, ЛОР стоит моего присутствия?

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

Я вот захожу вместо того чтобы делать что-то полезное…

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

Я вот захожу вместо того чтобы делать что-то полезное…

Я так, иногда захаживаю когда скучно.

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

… сказал тот, кто тут находится на птичьих правах и не забанен только потому, что работает кловуном в дев-разделе.

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

На самом деле, успехи в плане нахождения новых метапрогеров значительные. Но за пределами ЛОРа.

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

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

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

Итак, февраль 2022. С моменты создания первой темы про метапрог прошло почти три года, а готового метапрога самом на себе как не было, так и нет.

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

Как говорят в этих ваших интернетах, итог немного предсказуем. Плюс ТСа потянуло на игрульки X Error при попытке запуска Surviving Mars. Так что нужно понять, простить и отпустить. Новыми шизами пополняется ЛОР постоянно. Да и старые возвращаются в новом обличии.

P.S. Повеселила судьба сайта metaprog.org. Теперь там голый шаблон с тремя ссылками на ЛОР и такая занятная надпись:

Авторы сайта metaprog.org не связаны с разработчиком среды программирования Метапрог, но использовали выложенные им материалы.

XD

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

прошло почти три года, а готового метапрога самом на себе как не было, так и нет

Ну и?

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

Плюс ТСа потянуло на игрульки

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

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

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

Лабвью с Метапрогом - игрушки

А разговоров-то было)))

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

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

прошло 32 года, а Столман так и не написал свою ОС GNU Hurd. Притом не один Столман, а ещё и всё сообщество впридачу.

прошло 24 года, а разрабы ReactOS все ещё не написали клон Windows XP(или Windows 98 как планировали, когда разработка началась в 1998 году)

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

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

Причем набросил так уныло. Ладно еще Столман, хотя он тоже фигура мягко говоря неоднозначная. Но разрабы ReactOS это дно дна. Да и сравнивать их с ТСом, ой рукалицо.

Это как ТС себя с Линусом ассоциировал. Стыд и срам же.

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

Ты сказать то что хотел? Или опять предлагаешь с копипастой общаться.

Что относиться к тебе серьезно не стоит давно понятно.

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

Да он еще долго будет тут сидеть. Линукс то поставил. А умение пользоваться не поставил. Ну как с сишкой.

Унылый уж больно стал. Все одно и тоже пишет в ответ.

Thawiondi
()
Последнее исправление: Thawiondi (всего исправлений: 1)
23 марта 2022 г.

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

Метапрог всем передает привет.

MOPKOBKA ★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 2)
19 ноября 2022 г.

Разработка Metaprog продолжается, и с metaprog все в порядке. Готовится 45 версия, из серьезных изменений будет улучшен бекенд (который написан на самом метапроге) для ускорения компиляции, изменен формат схем, и разрабатывается система автоматического управления памятью через счетчик ссылок, ее применение опционально.

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

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

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

Заменить текстовые языки мышевознёй? Ну а как ты тогда будешь ветки в гите мёржить? Ах да, это же херня для only write hello wrold, над которым работает один человек у себя в сычевальне.

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

Заменить текстовые языки мышевознёй?

Именно. Для людей прошлого века можно интегрировать удобное клавиатурное управление.

Ну а как ты тогда будешь ветки в гите мёржить?

Гит для такого не предназначен, у метапрога своя СКВ.

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

Для людей прошлого века

Визуальное программирование применяется только для детей, у которых пока что мозгов не хватает на нормальные языки программирования. Пруф https://static.tildacdn.com/tild3539-3530-4636-b336-306637326233/scratch-screenshot.jpg

у метапрога своя СКВ.

Гит не гит — не важно. Вопрос про то как мёржить, если был изменён один и тот же участок, например.

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

Заменить текстовые языки мышевознёй?

У Delphi это почти получилось ведь. Спрос на это всегда будет. Но Delphi под собой имела мощнейший фреймворк и богатое WinAPI. Здесь же SDL, LabVIEW и прочее странное.

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

Вопрос про то как мёржить, если был изменён один и тот же участок, например.

Так же как и текст.

Визуальное программирование применяется только для детей

В церне и spacex используется детский труд, так и запишем.

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

Визуальное программирование применяется только для детей

Не только. Еще «программирование для домохозяек». У нас в лаборатории такое пока есть, физику намышевозить алгоритм кажется понятнее, чем написать текстом. Я этому, разумеется, сопротивляюсь, потому что после нормальных языков это мышевозенье настолько убого и криво…

В церне и spacex

Вот именно это там и используется. Ради задачи в три действия оформлять ТЗ программисту, согласовывать, ждать, ругаться что неправильно поняли - какой смысл, если можно соединить десяток жгутиков, и оно будет криво-косо, но работать. Если повезет, то даже правильно.

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

У Delphi это почти получилось ведь.

Прямо логику можно было составлять мышкой или ты про GUI? Ну так gui это другое.

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

LabVIEW

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

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

Прямо логику можно было составлять мышкой или ты про GUI? Ну так gui это другое.

Насколько я знаю, да. Какие-то логические элементы там были и можно было прокидывать привязяки кнопочек и формочек к готовым компонентам, они слали друг-другу данные, обрабатывали их, отправляли обратно на формы. Другой разговор, что подобное было вообще в первых RAD задолго до появления пресловутого Delphi и сейчас существует в том же Qt Creator, в котором можно создать простое приложение на слотах/сигналах в дизайнере, вообще или только изредка используя сам C++-код.

Всё это конечно далеко от настоящего визуального программирования, тем не менее все эти проволочки/проводки в современных дизайнерах формочек тоже элементы визуальной логики.

Но чистое визуальное программирование никогда не будет популярным, тут я с тобой согласен. Жизнеспособным видится лишь вот этот вот описанный мной выше вариант, который представлен в современных RAD и IDE, когда некоторые элементы визуального программирования разделяются обычным, которое доминирует. И этот подход жив и развивается вот уже 30-40 лет.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 5)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.