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

разработкой чего ядра?

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

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

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

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

я хочу написать автоматический генератор кода для работы с БД. т.е. сейчас всякие фреймворки для веба тормознутые а я хочу что бы можно было просто задать структуру БД (для начала в XML но можно и гуйню прикрутить), какая страница имеет доступ к каким данным определить, ну и что бы генерил код на разные бэкенды от php до C. можно и для андроида приложения сделать что бы генерил и по API данные брал. столько я насмотрелся механической работы для вебни. что бы там были разные виджеты которые можно пусть даже визуально добавить на страницу. свой простенький C-подобный язык для их кастомизации.

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

Владимир

Для баз - один подход, для C - совершенно иной.
Общее в этом только слово - «структура».

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

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

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

А как насчет стандартного бинарного сериализатора-десериализатора? В Лабвью такой есть, очень удобно.

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

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

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

и вообще признавал бы ты ООП и энкапсуляцию ты мог бы для начала сделать сериализацию в JSON внутри класса а потом захотел бы оптимизировать так переписал бы методы этого класса абсолютно не меняя код который вызывает метод serialize() а premature optimization это зло современные проекты и так сложные так что главное получить прототип и иметь возможность потом поменять

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

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

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

просто пердавай указатель на структуру первым аргументом и не парься всё будет хорошо если constructor/destructor не нужны. ну собственно суть объектного программина. про объектно ориентированный с тобой будет иметь смысл поговорить где то через полгодика минимум.

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

Владимир

В чем конкретно возникает проблема сериализации /и какой: в текст или бинарный формат/? Диаграмм в бинарный формат или иное что?

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

Владимир

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

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

Владимир

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

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

Владимир

«Ни кому не верьте.
И мне тоже»

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

Метадата база…

Реинкарнация лексикона программирования что-ли?

Не, не взлетит, по крайней мере с данным автором.

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

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

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

Владимир

Реинкарнация лексикона программирования что-ли?

От чего же?
Куда пальцем не тыкни везде реализации разных метадата баз /СУБД, .../
Той о которой говорю - для работы с объектами.

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

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

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

Владимир

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

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

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

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

Владимир

ТС не однократно говорил что-то вроде того, что на форуме - весело.
Многие просто не замечали как он «подливал масло в огонь».

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

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

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

Владимир

Все должно быть в меру.

anonymous
()

универсальная графическая среда программирования

Пять минут назад читал занимательную статью на Хабре — «Болен-здоров», зашёл на ЛОР — и тут веселье. И как я раньше твоих тем не замечал?

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

Какой стек, если функции инлайнятся? Кстати, спрашивал где-то выше есть ли оверхед по вызовам сишных подфункций - так он есть, в виде стека!

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

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

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

Не такой инлайн. Немножко другой. У меня метапроговские подфункции вообще не соответствуют сишным. В примере с прототипом чата есть всего лишь три сишные подфункции: два колбека и главная. Все остальные «подфункции» со скринов в сишном коде не выделяются как отдельные функции.

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

отправить его на гитхаб

Keelhaul, that filthy landlubber, send him down to the depths below
Make that bastard walk the plank with a bottle of rum and a yo-ho-ho
anonymous
()
Ответ на: комментарий от iluha16

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

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