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)

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

https://en.wikipedia.org/wiki/Branch_table

я же говорю что писал программу и столкнулся с необходимостью добавить условие которое со switch никак нельзя добавить.

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

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

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

концепт AMP будет устаканен в течение недели

Прошло больше месяца. Где концепт?

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

Нового-то что?

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

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

Оперирование непосредственно сишными функциями и указателями.

Оперирование сишными функциями и указателями есть в любом низкоуровневом языке. Это не упрощает разработку, это всего лишь средство для общения с низким уровнем системы.

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

делать драйвера - одна из заявленных целей

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

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

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

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

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

Я даже Лабвью использую как среду общего назначения

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

Главное что нужно сделать - заменить опенсорсным аналогом пропиетарщину с кучей понаставленных

Это не средства, это одна из целей. Проприетарные инструменты разработки прекрасно позволяют писать нормальный код.

Ну да ладно. Продолжим наводящие вопросы. Вот ты сделал опенсорсный лабвью, и что дальше? Он не пригоден для общих случаев. Какие выразительные средства и концепции ты собираешься в него добавить, чтобы он стал для этого пригоден?

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

инвестиционный рай

Инвестиционный рай - это когда денежный мешок вкладывает бабло и получает больше бабла. А с чего? Зачем мне с какими-то там левыми денежными мешками делиться своими авторскими правами (вряд ли они будут вкладываться в опенсорсный проект) и прибылью с реализованного проекта?

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

Switch нужен для построение branch table, я выше писал. if else его не заменишь, лучше по другому назвать эту твою конструкцию.

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

ты объясни что за branch table, там по ссылке в википидии показан массив указателей на ф-ции и ни слова про switch. или ты решил выпендриться умным словом? я такие конструкции как по ссылке использовал в C но это название впервые слышу.

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

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

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

главное что бы было чем делиться. пока вроде не чем. кроме идеи (лично на мой взгляд весьма сомнительной) и нескольких helloworldов ничего нет.

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

«Устаканен» не значит «опубликован». Или ты думал, что я вот так вот просто возьму и поделюсь ценными наработками с пациентской парочкой из недоученного школьника и необучаемого птушника? В отличие от, я не ставлю своей целью здесь что-либо доказать. Просто угораю с клинических лузеров вроде тебя.

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

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

Удобно и очень даже. Удобнее, чем помнить имена всех переменных, функций итд итп и каждый раз прописывать их в тексте. И это касается не только Лабвью: в лабвьюшном прототипе Метапрога я тоже не заморачиваюсь придумыванием имен переменных, ручным прописыванием названий типов и проставлением всяких (){}; - эту грязную работу делает за меня транслятор.

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

Почему, если Метапрог будет уметь даже указателями оперировать, как чистый Си?

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

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

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

Удобно и очень даже

Еще раз: это от отсутствия у тебя навыков программирования.

Почему, если Метапрог будет уметь даже указателями оперировать, как чистый Си?

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

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

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

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

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

Нафига? Что мне это даст? Впрочем, если штуку баксов перечислишь (видишь, демпингую, раньше были 22), то покажу.

Ты понимаешь, что ты просто смешон со своими указателями? Уж молчу о том, что между . и -> разницы не знаешь, а я, весь такой из себя «ненавистник си», внезапно знаю, ибо с него и начинал после МК-52.

Даже бомжвью от твоего поделия выгодно отличается тем, что там первично решение задачи, а инструмент уже потом. А ты строишь дом с крыши, о чём я уже в том же отеле и говорил. Ибо вследствие ограниченности твоего мышления словосочетание «решение задачи» для тебя недоступно.

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

как обращаться к созданной ф-ции не запомнив её название?

Поиск по части названия. Полное название помнить необязательно. Или же искать где она используется как подфункция и копировать ее в нужное место.

хотя бы видево показывающее как ты там работаешь создавая хотя бы простенький helloworld. чего ты ждёшь? естественно народ не понимает а то что не понимают обычно обсирают

Видео... при желании можно, но я уже, наверное, просто допилю Метапрог и тогда уж его по-настоящему оценят. А пока что я коллекционирую человеческую глупость и недальновидность, над которой будут смеяться после релиза Метапрога.

обычно обсирают (ты кстати точно такой же человек и точно так же себя ведёшь в отношении ООП, джавы и т.д.)

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

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

Кстати, у меня есть похожая мысль. Если нет никаких внешних факторов, влияющих на результат, то алгоритм лучше выполнить прямо в процессе компиляции.

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

А пока что я коллекционирую человеческую глупость и недальновидность, над которой будут смеяться после релиза Метапрога

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

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

Кто над кем будет смеяться покажет только время.

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

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

Так в том и проблема. Ты не умеешь писать софт, не решал ни одной практической задачи, но мнение имеешь. Шариков как он есть.

Кто над кем будет смеяться покажет только время.

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

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

Суть что надо всего лишь найти нужные функции. Дальше все легко и просто. В «настоящем» Метапроге планирую, что функции можно будет искать не только по части названия, но и по типу входов/выходов и не только. Еще раз: список функций по типу! Как в ООП, но без ООП:)

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

Ты не умеешь писать софт, не решал ни одной практической задачи

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

https://postimg.cc/K3z3W2nj

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

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

Для меня любой текстовый код - почти как брейнфак:)

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

между . и -> разницы не знаешь

Теперь знаю, благодаря ЛОРу. И, возможно, даже использую в бекенде Метапрога.

А ты строишь дом с крыши

Ну так покажи пример как надо делать. Концепт «Антиметапрога» на реде в студию!

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

https://postimg.cc/K3z3W2nj

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

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

признайся честно откуда ты, долго ли добирался до нашей планеты?

Из Украины, которая космических колоний, к сожалению, пока что не имеет. Лёня Космос (бывший мэр Киева) не в счет.

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

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

Кроме шуток, попробовал бы сопоставить со скрином код примеров с циклами. Там увидишь текстовые части со скрина: do, while, loop, _register_, _constant_, loop_номер_condition.

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

Но собирать софт в диаграммах я умею

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

Красиво, правда?

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

Для меня любой текстовый код - почти как брейнфак:)

Потому что ты неуч.

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

И вообще, хватит увиливать и ходить вокруг да около. Тебе задан прямой вопрос:

Какие выразительные средства и концепции ты собираешься добавить в метапрог, чтобы он стал для пригоден для общего назначения?

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

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

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

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

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

К сожалению, в Лабвью нет мультиязычных строк. В Метапроге будут. И прямо сейчас я занимаюсь их вкручиванием в прототип - немаленький такой патч. Одним из языков, кстати, будет «C». Это означает, что взятые из сишных инклюдов типы станут неанонимными.

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

Что ты придумал такого, чего нет в других средствах разработки, в том числе текстовых?

Вот например о системе типов:

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

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

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