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)

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

Слышу это от анонимуса.

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

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

Слышу это от анонимуса.

Да ты такой же анонимус. Ты вчера написал, что писаешься в трусы от мысли, что до тебя копирасты из NI доберутся, поэтому даже своё имя в копирайты к суржику не вставишь.

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

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

Котечка порой кидает вещи, мне совершенно неведомые. Познакомил с gtk, glib, gio, с ними удобно почти как в Лабвью. На эти библиотеки опираться реально проще, чем только лишь на stdlib, xlib и системные вызовы, как я думал сначала. А ты что сделал для проекта полезного, онанизмус?

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

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

Украина большая страна, не один я знаю украинский.

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

Нет уж, в клоуны я не нанимался.

Иногда человек выбирает профессию, иногда профессия выбирает человека. Клоуны вроде тебя тоже нужны.

anonymous
()

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

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

Для начала объясни что ты-то здесь делаешь? Не нравится - есть куча других тем и ресурсов, начиная от порносайтов:)

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

Владимир

Ну пусть VarfolomeyKote4ka не вы /не принципиально/.
Но вы много высказываете суждений, которые очень, очень - не очень.
Так нельзя понимаете ли вы это?
Если бы чувствовалось, что вы профессионал, который знает предмет
об котором он говорит, тогда еще с большой натяжкой было бы терпимо.
В противном случае - тролинг.

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

Для начала это ты объясни, что ты добиваешся своим пустым трёпом? Что бы тебе тут написали твой сранный метапрог? Или просто донатов хочешь?

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

В первую очередь советов и помощи по делу. Уже добился того, что мне подсказали gtk, glib, gio. Почитайте первую часть, думал графику на xlib делать и делал бы, если б не эта подсказка. А недавно и сокеты из gio подсказали, куда удобнее системных вызовов (и оверхеда в скомпилированной программе много не создаст, верно?). Польза проекту от темы есть и весьма ощутимая, даже несмотря на, так сказать, полный троллейбус троллей.

Потом после релиза беты (или даже альфы) будет кому присоединиться к проекту уже в качестве непосредственных участиков.

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

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

Владимир

Бедность и молодость не порок.
На форуме много профессионалов.
Думаете им приятно знакомиться с многими вашими «перлами»?

PS: Похоже вы не понимаете о чем речь.

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

Критикую я что-то не просто так, а по делу.

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

HiAsm (который я за 9 минут забраковал) - за то, что непонятно было где исходники подфункций. Сейчас еще раз взглянул - черт побери, в исходниках модулей - текстовый паскаль! Там даже графических подфункций я не увидел. Лабвью все же на голову выше, и аналогов ему, к сожалению, нет (если не считать Метапрога, который пока что в разработке).

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

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

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

https://ru.wikipedia.org/wiki/Спор_Таненбаума_—_Торвальдса

>I still maintain the point that designing a monolithic kernel in 1991 is
>a fundamental error.  Be thankful you are not my student.  You would not
>get a high grade for such a design :-)

Well, I probably won't get too good grades even without you: I had an
argument (completely unrelated - not even pertaining to OS's) with the
person here at the university that teaches OS design.  I wonder when
I'll learn :)
metaprog
() автор топика
Ответ на: комментарий от metaprog

Владимир

За всю свою жизнь не одного «дурачка» не встретил.
У вас имеется способности, целеустремленность, ...
Но от того, что вы ООП C++ не осилили он хуже не станет.
Ни кто вас не призывает быть «глупеньким» и со всем соглашающимся форумчанином, но
не судите о том, в чем не разбираетесь.

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

Но от того, что вы ООП C++ не осилили он хуже не станет.

Станет. В Лабвью, кстати, тоже есть ООП. Это дает мне возможность в графике оценить сам концепт ООП. И что - я на него посмотрел (вместе с примерами) и решил, что ну его в баню. Оперирую исключительно примитивными типами, массивами и структурами (в Лабвью структуры называются «кластерами», но суть практически та же). Это проще и надежнее. То же, что есть в Си, нет только указателей сишного типа (хотя есть всякие указатели на прилжение, функцию, элемент контрольной панели для операций с данными, свойствами и вызова методов для работы с ними).

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

Владимир

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

Это ложь.

У меня ни когда даже на ум не приходила эта мысль /это ваши заботы и вам решать нужно или нет/.

Что за обиды?
За то что вам указали на то, что «Поступающий в вуз не должен судить о том, чего он не изучал?».

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

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

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

Владимир

Добавочка.
Если вы все знаете и обо всем правильно судите, то напрашивается вопрос ... /все знают продолжение/.

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

Владимир

Продолжение например такое - «Вы заметили, что диалог с вами уже ни кто не ведет?»
Ну с моей стороны правда еще «маленькие угольки» остались /но не касающегося вашего проекта/.

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

Ну ОП максимум monk'у грубо ответил, лол, зато ему и мне пишут вещи вообще неадекватные! Кто еще троллит!

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

Нет, не сделали бы. Вы вообще ничего сделать не можете, кроме как на форумах писать и в MS Paint рисовать схемки.

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

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

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

которые гораздо умнее вообще всех в этом треде

Добавить классы в С это сверхсложная вещь? Лол. Ну видимо ОПу надо было со всеми соглашаться, написать метапрог на HTML5+JS а потом выбросить, ведь сказали что нинужно.

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

Это было с текстово-бинарным форматом. ОП утверждает, что бинарный формат проще, хотя ему намекнули, что с текстовым форматом кода писать в 100-200 раз меньше, ибо куча инструментов есть уже сейчас.

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

ООП извратили по своему, Алан Кэй совсем другое имел виду, и это другое прекрасно реализуется на С!

функциональную парадигму

Без GC не взлетит, у ОПа другая система.

интерпретируемые языки

У ОПа другая система, хочешь интерпретаторы просто подключи lua, duktape в metaprog.

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

Так он реально проще, это вы шизы!)) сделал структуру а потом просто fwrite(&struct, 1, sizeof(struct), file); ну а чтение так же, только с fread

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

Ну это из за ограничений в нем, тут же среда где можно и низы программировать и верха!

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

Всё, мне надоела это личность шизофреника. Смешных цитат не выдает, но аргументов всё равно не слышит. metaprog, приходи, ты веселее.

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

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

Еще и про ООП затираешь, который везде уже выкидывают, (тот что плохой ООП, извращенный).

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

А потом писать свой grep, свой diff, и свой гит (и конечно свою БД на диаграммах). Конечно, так гораздо проще.

ООП «везде выкидывают»? Первые 8 мест TIOBE подразумевают либо ООП, либо процедурное+ООП, либо функциональное+ООП.

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

Зато смотри как просто все пишется!

typedef struct  {
	char name[32];
	int age;
} Person;

typedef struct {
	size_t person_count;
	Person person[];
} SaveFormat;

int load_save(const char *path, SaveFormat **format) {
	FILE *f = fopen(path, "rb");
	if(!f) goto fail;
	*format = malloc(sizeof(size_t));
	if(fread(&(*format)->person_count, sizeof(size_t), 1, f) != 1) goto fail;
	*format = realloc(*format, sizeof(size_t) + sizeof(Person) * (*format)->person_count);
	if(fread(&(*format)->person, sizeof(Person), 1, f) != 1) goto fail;
	fclose(f);
	return EXIT_SUCCESS;
fail:
	if(f) fclose(f);
	if(*format) free(*format); 
	return EXIT_FAILURE
}

int write_save(const char *path, SaveFormat *format) {
	if(!format) return EXIT_SUCCESS;
	FILE *f = fopen(path, "wb");
	if(!f) goto fail;
	if(fwrite(format, sizeof(size_t) + format->person_count * sizeof(Person), 1, f) != 1) goto fail;
	fclose(f);
	return EXIT_SUCCESS;
fail:
	if(f) fclose(f);
	return EXIT_FAILURE;
}

Через mmap тут вообще 3 строчки на все!

А потом писать свой grep, свой diff, и свой гит

grep на видео тебе не нужно?

Конечно, так гораздо проще

Да.

ООП «везде выкидывают»?

В новых язычках.

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

Зачастую нужно, и для частного случая видео с YouTube он даже есть - скачиваешь с помощью youtube-dl субтитры и грепаешь по ним.

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

ООП «везде выкидывают»?

В новых язычках.

Жду «новых язычков», где нет инкапсуляции, полиморфизма и наследования. Да, там может не быть «классов», но это не значит, что там нет ООП.

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

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

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

Наследование легко сделать на трейтах. Учти, что можно делать имплементации трейтов для самих трейтов.

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

В С наследование легко сделать на GObject, следовательно С - ООП язык, и metaprog - ООП система. Я тебя понял, закроем тему.

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