LINUX.ORG.RU

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

 , , ,


2

3

Не нравится - проходите мимо. Нравится - помогайте проекту.

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

Структуры условного выбора типа

Примеры

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

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

Структура

Структура GtkWidgetClass с кучей членов-указателей на функции:

https://i.postimg.cc/bwTrb1r1/2.png

Слева - члены структуры, справа - подсказки к выходам структуры, всплывшие при наведение мышью. Там можно прочитать имена членов структуры. Здесь я буду брать прототипы для функций, вызываемых по перечисленным событиям (фишка gtk+).

Да, большая и на экран не вмещается. После релиза эта проблема будет решаться перемещением видового экрана по диаграмме и зумом (как в играх-стратегиях или при просмотре фоток под зумом).

Она же в текстовом виде: https://pastebin.com/TeTsSMQz



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

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

C# и Java это как Кола и Пепси.

А что за адовое зелье автор надумал сварить? :)

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

А зачем оно, это графическое программирование вообще? Такому как я не поможет :D

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

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

Как коровий навоз и конский навоз)))

Отличное удобрение для почвы в виде знания информатики. А из метапрогов только hello-world'ы получаются, потому что почвы нету, а из пропитой студенческой мочи ничего не растет.

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

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

Жить тоже сложно, вот только домохозяйки не пасуют перед этим, они не лягут помирать :)

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

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

Обычно подпись ставят в конце обращения.

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

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

Автор хочет всего и сразу. И без обучения. Фантазер, короче.

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

зачем оно, это графическое программирование вообще? Такому как я не поможет :D

мне тоже не поможет :-) Но есть 100500 направлений где топтание по тексту утомительно-излишне. И выходит за рамки квалификации пользователя.

---

Случай из реальной жизни: дети захотели САМИ СДЕЛАТЬ игру.

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

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

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

думают, что смогут изобразить любой алгоритм в виде схемы

Я не просто «думаю», я на практике вижу, что любой алгоритм любой сложности можна собрать в графическую схему: сам делаю это в Лабвью.

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

Старый добрый Си был выпущен в далеком 1973, когда даже о графическом интерфейсе пользователя речь еще не шла, железо не вытягивало. С++ вышел в 1983, за год до первого релиза X Window System (которая была не по зубам большинству тогдашних компьютеров). В те дремучие времена консоль и текстовое программирование были прогрессом в сравнении с набиванием перфокарт и ассемблером. Но железо развивалось, позволив пользователям перейти на графические интерфейсы.

Технически визуальное программирование могло заменить текстовое еще в 90х. Теперь посмотрим на языки, появившиеся тогда (и после). Например, Java и C#. Кто их придумал и разрабатывает? Корпорации! Бизнес делает деньги на говнокоде, поддержке, переписывании софта. Еще прихлебалы, делающие бабло на книгах и курсах по ООП (Что почитать по ООП?). Если б ООП-языков (особенно таких как Java) не было - их бы стоило придумать и распиарить, чтобы делать на них деньги.

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

Трансляция в сишечку напрямую из графики - явно не «программирование без программирования», ибо очень сложно объяснить человеку, далёкому от программирования, почему 0.0005 + 0.0001 != 0.0006, почему 0 - 1 == 4294967295, ну и далее в том же духе.

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

Я не просто «думаю», я на практике вижу, что любой алгоритм любой сложности можна собрать в графическую схему: сам делаю это в Лабвью.

https://cs4.pikabu.ru/images/big_size_comm/2014-10_3/14132848768759.png

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

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

Владимир

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

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

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

Ivan Sutherland developed Sketchpad in 1963, widely held as the first graphical computer-aided design program

Как всегда, сказал, даже не погуглив.

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

0.0005 + 0.0001 != 0.0006

Потому что флоаты не сравниваются напрямую.

0 - 1 == 4294967295

Потому что беззнаковое 32-битное.

Такие нюансы программисту надо знать. Но программист не должен при этом зубрить и знать синтаксис текстовых языков и курить мануал к каждой функции.

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

Технически визуальное программирование могло заменить текстовое еще в 90х

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

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

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

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

Так зачем мне курить мануалы к каждой функции, если например в Haskell чаще всего IDE вообще сама подсказывает правильную функцию исходя из типа, а в C/C++ та же самая IDE показывает мне первые две строки из cppreference?

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

Тогда почему ты используешь С++, ведь он глючный? Пиши на Си, раз IDE такая удобная! А то ловлю С++-баги в Лабвью и на кого тут материться?

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

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

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

Так зачем мне курить мануалы к каждой функции, если например в Haskell чаще всего IDE вообще сама подсказывает правильную функцию исходя из типа, а в C/C++ та же самая IDE показывает мне первые две строки из cppreference?

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

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

Лабвью и на кого тут материться?

Пиши в поддержку лабвью, ты же за него деньги заплатил.

Тогда почему ты используешь С++, ведь он глючный?

Глючный не он, а человеки. Вроде бы давно известно, что 100% ошибок в программе - вина программиста.

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

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

Так у меня IDE использует man и cppreference и показывает мне мануалы к каждой функции прям во всплывающей подсказке.

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

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

Это цель Метапрога. Но реализовывать схемы не в тексте и чтоб не было рантайм-библиотеки, как в С++.

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

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

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

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

А как начсет того чтобы функции (выше сишных) вообще не нуждались в мануалах? Лабвью-функции я освоил, почти ничего не читая.

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

Т.е. вы хотите сказать, что не будете документировать код? Удачи вам с отловом стрёмных багов. Вы хотите невозможного.

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

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

Как в анекдоте: «Спорить с дураком - всё равно, что играть в шахматы с голубем. Он раскидает фигуры, нагадит на доску и улетит всем рассказывать, как он тебя уделал.»

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

Справедливо. С другой стороны, мне тоже хочется повеселиться :)

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

В первую очередь недостаток ВСЕХ текстовых языков - сложность в освоении. В Лабвью все осваивается и делается очень легко и просто.

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

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

А как начсет того чтобы функции (выше сишных) вообще не нуждались в мануалах? Лабвью-функции я освоил, почти ничего не читая.

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

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

В Лабвью все осваивается и делается очень легко и просто.

Ты слился, когда тебя попросили пару задачек с Project Euler перевести на твой суржик. Тебе даже Владимир прислал готовые ответы к этим задачам на Сях, но ты всё равно слился.

Простота во всей красе.

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

Код должен быть настолько очевидным (в графике), чтобы вообще не нуждаться в документировании. Или короткие поля-заметки в диаграммах там где надо.

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

Рантайм-библиотека у Си?

Лол. И это спустя почти 2000 сообщений.

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

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

Как будто на сайт с онегдотами для айтишнегов зашёл, честное слово :)

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

Код должен быть настолько очевидным (в графике), чтобы вообще не нуждаться в документировании. Или короткие поля-заметки в диаграммах там где надо.

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

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

Даже если glibc и ядро (у которого есть системные вызовы) считать рантаймом, оно все равно не весит и не выжирает столько, сколько у других языков. И не такое глючное.

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

Будет. Со временем. Карандашом рисовать не буду. Если у кого есть пожелания по внешнему виду - пускай сам рисует и показывает.

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

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

По мнению автора это будет как комиксы читать.

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

есть SCADA системы, у которых официально стандартных языков 3, один из которых как-раз квадраты со стрелками ;-) И GUI который позволяет это всё рисовать, цеплять аппаратуру, делать интерфейсы оператора и даже моделировать

к слову, результат их работы вас окружает

тогда сделайте толковое расширение в какой-нить Open/Free scada чтобы цеплять libc

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

Хорошо. Мне надоело спорить с вами на тему, в которой вы вообще ничего не понимаете. Давайте перейдём на что-нибудь ближе к теме - сможете ли вы реализовать на LabView или вашем Metaprog какой-нибудь из хотя бы классических алгоритмов. Первое, что пришло в голову: https://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%9C%D0%B0%D0%BD%D0%B0%D0%BA%D0%B5%D1%80%D0%B0

Или можете хотя бы квиксорт написать? Мне правда интересно.

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

Будет. Со временем. Карандашом рисовать не буду. Если у кого есть пожелания по внешнему виду - пускай сам рисует и показывает.

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

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

Просто ничего лучше Лабвью я не знаю. Может вы знаете?

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

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

В Лабвью так оно и есть.

Видимо из-за этой доступности для понимания никто за 2000 сообщений не понял твои схемы.

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

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

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

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