LINUX.ORG.RU

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

 , , ,


2

3

FAQ

0. Где отсутствующие примеры и пункты FAQ? Как вообще читать эти темы?

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

10. Примеры выдают варнинги при компиляции (у кое-кого еще и сегфолтятся)

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

11. Как выглядит факториал в графическом представлении?

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

(пока что на Лабвью)

Примеры

Находятся в прошлых темах. Компилировать исходники нужно так:

gcc ./test.c -o ./test $(pkg-config --cflags --libs gtk+-3.0)

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

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

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

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

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

Прототип чата:

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

Показывалка языка локализации через seltocale (кстати, у кого что показывает?)

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

Прототип чата с прокруткой:

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



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

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

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

А на твоем скрине что? do, when, join - текст вместо пиктограмм. Похоже больше на текстовые языки, чем на Лабвью или Метапрог.

Хотя App Inventor все равно лучше, чем текст. Как насчет того, чтобы начать использовать его для реальных проектов?

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

то есть стоит заменить эти do when пиктограммами они станут «визуальным программированием»? Ты совсем упорот? Пиктограммы воспринимаются субъективно в отличии от конкретного однозначного текста. Я вот не могу понять, что у тебя в твоих мазюках. что там за крестики-нолики.

к тому ж у тебя в пиктограммах прямой (вот прям 1:1) сишный код. от того, что ты нарисовал картинку к while, оно не стало меньше while, чем было, зато стало более «confusing».

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

Кстати, чтож ты гонишьт то?

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

почему я там вижу какие-то FALSE, TRUE, gtk_box_new, GTK_ORIENTATION_VERTICAL (что это вообще за хрень? предлагаешь мне «макулатуру» читать?). Это что, текстовое программирование, в метапроге? айайай. непорядок. срочно пиктограммы нарисовать.

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

Ты перечислил названия, но это не текстовый код. Кстати, FALSE и TRUE действительно надо заменить на кнопку.

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

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

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

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

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

аа, ясно. нужно больше линий богу линий. но я починил, теперь точно визуально программирование в терминах метапрога. https://i.imgur.com/IRUhI8S.png

А тут даже заменил названия пиктограммами. https://i.imgur.com/kT8wnOQ.png теперь совсем метапрог

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

Линии черные. Где цвет линий, какая какого типа данные несет? Твои «пиктограммы» - тоже текст, только китайский.

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

Где цвет линий, какая какого типа данные несет?

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

Твои «пиктограммы» - тоже текст, только китайский.

Какой уровень китайского языка ты имеешь, чтоб утверждать, что это китайский, а не хирагана, например?

Ну а если кроме стёба, то твои картинки ничем не лучше китайских иероглифов. https://i.postimg.cc/sxVjJCkk/image.png (кстати самая отвратная схема. могу спорить, что 9 из 10 не скажут, что тут происходит. причем 1 из 10 это будешь ты, да и то не факт) где гарантия, что вот та балка с плюсиком это не иероглиф какого-нибудь древнего языка? а плюсик с ромбиком? И почему у тебя там так много текстовых операторов «больше» '>' на типа визуальной схеме?

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

Да китайские иероглифы, вообще-то, куда логичнее. Существует всего 214 радикалов, из которых и компонуются абсолютно все остальные символы. Некоторые радикалы имеют чисто историческое значение и в современном путунхуа не используются. Некоторые содержат в себе подсказку по произношению (фоносемантика). То есть письменность, несмотря на всю свою громоздкость, вполне себе систематична и логична (хотя до корейцев им по логичности ещё как до Сеула раком). Зато результат получается довольно компактным. То же самое и в произношении - слоги короткие, но пятитональные, нашим ухом не сразу распознаешь отличие. У ТС же ни компактности в его мазюльках не наблюдается, ни логичности в построении. Поэтому мандарин до сих пор живее всех живых и является одним из шести официальных языков ООН, в то время как творение нашего аффтара заслуживает только закапывания под всеобщее рукалицо.

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

к сожалению китайский не знаю. Был шанс учить в универе, но я учил финский.

А весь пример с иероглифами был про то, что будь там 20 пиктограмм или 200 иероглифов, их нужно знать/понимать и не путать. Кто сказал, что вместо «плюсик с ромбиком» невозможно поместить «плюсик с домиком» чисто по ошибке? Сколько потом понадобиться времени, чтоб найти эту ошибку, которая может и проявляться то в 1 случае из 1000.

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

И это описание всего и вся в контексте Си, вплоть до типов цветами (кстати зачем, если тип уже известен должен быть на стадии рисования функции) и вовсе делает нужность этой затеи сомнительной. Это ж просто рисование текстового Си кода 1:1.

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

А как там твое творение? «Антиметапрог» на реде, концепт которого ты обещал за неделю? Уж чья бы корова мычала...

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

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

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

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

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

лабвью я видел только на ютубе. И сложилось впечатление, что это сильно специфическая вещь, основанная на компонентах/объектах и сообщениями между ними. Я в универе когда-то пытался свой делфи написать с такой вот передачей данных.

Сейчас для железок пишу. Для медооборудования, научной всякой сферы. В основном С/C++. Питон, для всякой быстрой работы и прототипов. Еще раст, го иногда.

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

Не путай болт с пальцем. Недели ушли на разработку самого Метапрога, а не примера с чатиком.

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

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

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

Я сравниваю не именно metaprog и appinventor, а их подходы, если представить их улучшенными.

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

Вот именно, дело в ограниченности. Лабвью и Метапрог со свободным расположением блоков и линий предполагают больше возможностей.

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

Иди на сосач в /s/, там заведи тред имени себя и перекатывай его сколько хочешь. А здесь тебе не рады.

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

Лабвью и Метапрог со свободным расположением блоков и линий предполагают больше возможностей.

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

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

Был тут один, тоже любил из треда в тред перекатываться. Получил по шапке и больше не перекатывается. Улавливаешь?

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

Отличная идея, кста. Может, и единомышленники подтянутся, такие часто там обитают.

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

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

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

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

Виртуальные методы? Что-то подобное, кстати, в Метапроге будет через структуры условного выбора типа.

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

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

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

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

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

А как твоё? Тема ведь о нём. Не перекладывай с больной головы на здоровую. Твоё пещерно-демагогическое НЛП на нормальных людей не действует. Но тебе не нужен результат, тебе нужна публика, ты без неё не можешь.

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

Хочу в «настоящем» Метапроге ставить объекты диаграммы в виде виджетов. Как поставить виджет (скажем, текстовый лейбл) на GtkDrawingArea на нужных координатах?

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

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

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

У gtk есть контейнер, вроде бы Fixed, который позволяет размещать на нем виджеты по координатам каким то, ну и этот виджет не забудь в scrollwindow поместить.

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

А как раскрашивать текст, фон, рамки лейблов и текствью?

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

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

потому что программа это инструкция для машины. вот к примеру почему на коробках с продуктами пишут

1. налить 3 литра воды в кастрюлю и довести до кипения.
2. высыпать содержимое пакета.
3. варить 5 минут.
4. добавить соль и перец по вкусу.

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

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

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

а теперь представь что всё это было бы нарисовано какими то квадратиками и линиями их соединяющими.

В инструкциях так и есть же.

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

Насчет раскрашивания не подскажешь?

metaprog
() автор топика
Ответ на: комментарий от iluha16
1. налить 3 литра воды в кастрюлю и довести до кипения.
2. высыпать содержимое пакета.
3. варить 5 минут.
4. добавить соль и перец по вкусу.

А теперь напиши что-то подобное в IDE для микроволновки (допустим, она у тебя умная и поймет). Или понажимать на кнопочки будет все же проще?

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

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

Алгоритмы программ тоже существуют не в вакууме и являются определенным отражением желаемого состояния реального мира, в самом простом случае - транзисторов всяких, регистров процессора, ячеек ОЗУ, секторов диска итп.

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