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)

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

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

А программировать это дело как будем до появления нейроинтерфейсов? На питоне? А после появления нейроинтерфейсов чем будет проще манипулировать - образами (по сути картинками) или тем же текстом?

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

превзойти означает иметь возможность в доли секунды осознать новую информацию

С ютуба? Как определять ценность информации?

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

способность видеть скрытые связи между объектами

А, ну информация из эфира, я думаю даже с самого неба, он же бог.

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

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

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

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

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

А если вместо долгого обдумывания попробовать один алгоритм, потом другой, потом третий? У меня даже на Лабвью редко все работает как надо с первого раза.

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

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

что такое x и y на твоей диаграмме? визуализируй. сделай вместо имён переменных рисунки. аналогично поступи с названиями функций, например вместо print рисунок принтера и т.д. тогда криворуким макакам говнокодерам не придётся обучаться грамоте, программирование станет ещё проще для неучей.

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

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

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

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

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

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

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

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

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

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

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

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

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

ты раб своей природы.

Машины рабы своей программы, и?

от такого недостатка

Вшмысле недостатка, я кайфую.

никогда не спать и не отдыхать вообще

Мне нравится спать и отдыхать.

у тебя нет шансов против них

Конечно же есть, ведь эти машина твоя шиза %)

и занесут в красную книгу

Максимально глупо звучит если учесть что ты выше писал.

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

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

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

Я тоже иногда употребляю и кайфую! Зачем мне кого то бороть если я могу наслаждаться жизнью? Вот если бы за меня делали нудные вещи компьютеры и роботы был бы рай.... К этому и надо стремиться, таково мое мнение! А смысла в прогрессе нету, если он не дает каких то плюсов человеку.

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

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

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

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

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

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

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

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

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

Ну значит остальные сайты написаны профессионалами, не заходи на плохие сайты, какие проблемы?

даже когда веб приложения писали на C

Не имеет смысла, «тормозит» БД и прочее.

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

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

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

Ну так и не заходи, в чем проблемы то? Я про это больше.

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

Люто плюсую. И даже индустрия программирования в большей части ориентирована на обслуживание созданных маркетологами хотелок. Об этом есть хорошая статья на хабре:

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

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

Что я вообще нахрен делаю?

Вот я продумываю архитектуру высоконагруженной системы, но в 95% случаев ее будут применять, чтобы быстрее отсортировать на телефоне селфики с узорами и фоточки любимой собаки. Вот я разрабатываю VPN-клиент, и что с ним будут делать? Смотреть всякую порнуху и тупые пиратские фильмы?

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

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

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

Мир был бы намного лучше без менеджеров, маркетологов, банкиров и прочих продавцов воздуха.

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

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

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

продавцов воздуха.

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

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

попробуйте Ublock origin ... больше рекламы режет и меньше памяти жрет ...

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

Смотри, вот структура GtkWidgetClass (в шапке этой темы) с определениями интерфейсов коллбеков. Например наша знакомая функция

  gboolean (* draw) (GtkWidget *widget,
                                cairo_t *cr);

Там нет gpointer data. В каком-то месте доопределение интерфейсов коллбеков с добавлением gpointer data? Можно ли этот параметр смело приписывать ко всем коллбекам GtkWidget как последний параметр?

Ведь, судя по всему, именно через gpointer data лучше передавать информацию коллбеку в функции подвязки сигнала, верно?

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

Ты где то не там смотришь, у меня все есть:
https://developer.gnome.org/gtk3/stable/GtkWidget.html#GtkWidget-draw

gboolean
user_function (GtkWidget    *widget,
               CairoContext *cr,
               gpointer      user_data)

Можно ли этот параметр смело приписывать ко всем коллбекам GtkWidget как последний параметр?

Скорее всего - да!

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

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

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

по автоматическому разбалтыванию зависимостей гткшных классов

А? Ну вся информация о классе в .h файлах есть у gtk вроде.

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

Это так, но а всякая ерундень по наследованию классов (виджеты, их потомки и все такое), которая прямо сишкой не предусмотрена?

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

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

Это так, но а всякая ерундень по наследованию классов

«Родитель» идет первой структурой в классе.

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

Вот это без поинтера

Это метод а не сигнал. Совсем другое. Эта функция заставляет отрисоваться виджет в cr.

а где сигналы сидят в хедерах

Наверное не сидят там.

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

Вот я тупо взял интерфейс от этого метода, вкрутил как сигнал - и сработало. Помнишь вопросы по интерфейсам коллбеков?))

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

И вообще мир был бы намого лучше, если бы в гтк вместо дурацких объектов, методов и классов были только структуры, юнионы и указатели и все многообразие возможных объектов выражалось через них.

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

Так там объектов как бы и нет, все через структуры и указатели.

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

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

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