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)

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

Нет, не возможен. Суть передать переводом отдельных слов без контекста невозможно, иначе получается «hydraulic ram -> водяной баран» и всё в таком духе. Читаем хотя бы основы лингвистики.

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

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

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

Дело в том, что вы просто не видели вообще ничего, кроме чистой сишечки и говна. Вам кажется, что на сишечка - чистая и удобная, а говно - «самое удобное в программировании».

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

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

Что ещё они тебе должны? :D

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

Потому что в 2 кб плагины не влезают. С колдстарта (до прогрузки плагинов) 300-400кб. Ну и самое главное - вообще ни одного рантайм-бага при наличии кучи плагинов. Ну я и не удивлён, что вы не знакомы.

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

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

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

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

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

В простейшем случае в устоявшемся жаргоне можно. Но если вас это устраивать не будет - сможете сделать для Метапрога систему получше.

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

Без RTFM невозможно создавать ПО, если ты не макака-PHP или не клепатель формочек под мобилки. Хотя бы теория алгоритмов и принципы работы с окружающим миром нужно RTFM, даже если metaprog будет идеально пониматься вообще всеми (в чём я очень сомневаюсь)

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

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

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

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

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

А ещё возможность abort и exit в любом месте кода. Ну да, под очень широкими понятиями «указатели» и «overflow/underflow» скрываются 90% ошибок и багов компьютерной индустрии. Не просто так для серьёзных вещей вроде ПО для космического сектора чистый C уже давным-давно не используется.

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

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

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

RTFM нужен ТОЛЬКО по части базовых принципов и концептов, и то разбавленный картинками. Например, по ТСР/ІР надо знать что такое ІР-адрес, порт, что такое слушать порт, принимать и отправлять данные. Все! НЕ должно быть RTFM по функциям и их интерфейсам. В Лабвью я сам нашел функции для работы с ТСР/ІР и разобрался с ними почти без RTFM.

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

Делать самому должно быть просто систему любой сложности.

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

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

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

В Лабвью и Метапроге не теория, а ПРАКТИКА алгоритмов. Которые визуализируются графически сразу, в процессе программирования.

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

«Разобрался» - это что значит? Что вы написали веб-сервер? Так на nodejs вообще можно просто взять и в одну строку это сделать, там не то что RTFM - там головной мозг не нужен. Значит ли написание веб-сервера на nodejs, что человек разобрался с TCP/IP?

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

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

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

Практика без теории -> Всё то, что вы так отчаянно поливали говном последние два треда. Тут и глазки на 30 МБ, и тормозящие приложения под Android, и большая часть веба (где gmail.com кушает, как 100-200 моих почтовых клиентов). Оно происходит из-за того, что люди, не понимающие, что они делают, берутся программировать. Это очень хорошо, т.к. позволяет не-специалистам быстро получать нужный результат, но с другой стороны в идеале после успеха такого склёпанного на коленке говнеца должен приходить специалист и переписывать нормально. Именно поэтому всё равно придется RTFM, если хочешь программировать.

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

Идея Метапрога без компромиссов. Программировать должно быть легко и просто, и при этом результат должен быть идеальным.

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

Спасибо, настроение на субботу уже поднято, я пошёл.

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

Так и вспоминается:

https://habr.com/ru/post/442112/

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

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

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

Бесполезный доклад. Там на схемах текст, а автор, как известно, не умеет читать.

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

Владимир

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

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

Владимир

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

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

Нахрена мне текстовые ide? Я в графике хочу! А как в одну строку представить указатель на функцию?

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

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

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

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

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

Это подтверждает старую народную мудрость, что «когда в руках молоток, всё вокруг кажется гвоздями», но это не значит, что молоток - «не инструмент, а часть сознания». ЯП - тоже инструмент, и выбирать нужно его соответственно задаче. Никто в здравом уме не будет вкручивать гвозди отверткой, забивать шурупы молотком, писать биллинг-систему на ассемблере или драйвера на javascript (кроме исследовательских целей и развлечения). В контексте metaprog это значит, что нужно выбрать нишу и в неё вкладывать все ресурсы, иначе получится вообще никому не нужный шлак, на котором невозможно делать вообще ничего.

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

Владимир

Хорошо, что «всё», а не «все».

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

Никто в здравом уме не будет писать биллинг-систему на ассемблере или драйвера на javascript (кроме исследовательских целей и развлечения).

Ща он напишет, что ассемблер и джаваскрипт - лажа, а его графический суржик транслируется в сишечку, на которой можно написать всё, потому что сам Линус написал ядро на си и якобы ругает всё остальное.

anonymous
()

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

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