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

Тогда получается, что 100% текстовых редакторов написаны сами на себе. Вот это да!

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

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

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

У линуса было 0 помощников к релизу версии 0.01 17 сентября 1991. Из его книги Just for fun:

     From: torvaldsSklaava.Helsinki.Fi (Linus Benedict Torvalds)
     To: Newsgroups: comp.os.inix
     Subject: Чего вам больше всего не хватает в minix?
     Summary:  небольшой  опрос  для  моей операционной системы  Message-ID:
<1991Aug25.205708.9541@klaava.Helsinki.Fi>

     Привет всем  пользователям minix! Я тут пишу  (бесплатную) операционную
систему   (любительскую  версию   --   она   не  будет   такой   большой   и
профессиональной, как gnu) для 386-х и 486-х AT. Я вожусь с этим с апреля, и
она, похоже, скоро будет готова. Напишите мне, кому что нравится/не нравится
в  minix, поскольку моя ОС на нее похожа  (кроме всего прочего,  у нее -- по
практическим соображениям -- то же физическое размещение файловой системы).
     Пока что  я  перенес в  нее  bash  (1.08)  и gсс (1.40)  , и все  вроде
работает. Значит, в ближайшие месяцы у меня получится уже что-то работающее,
и  мне  бы хотелось знать,  какие  функции  нужны  большинству.  Все  заявки
принимаются, но выполнение не гарантируется : -)

     Линус (Torvalds@klaava.Helsinki.fi)

     PS. Она  свободна  от кода  minix  и  включает мультизадачную  файловую
систему. Она НЕ переносима (используется переключение  задач 386 и  пр.)  и,
возможно,  никогда не  будет поддерживать  ничего,  кроме  АТ-винчестеров --
потому что у меня больше ничего нет : - (.


     Наиболее рьяные энтузиасты Minix встрепенулись.  Мне  прислали  не  так
много заявок по поводу ее функций, но зато были другие сообщения.

     >Расскажи поподробней! Ей нужен MMU?

     Ответ: да

     >Какая часть написана на Си? Какие будут трудности
     >при переносе? Кто тебе поверит про машинную
     >зависимость ;-) , я вот хочу ее перенести к себе на
     >Amiga.

     Ответ:  она в основном  написана на  Си, но многие скажут,  что это  не
настоящий Си.  В ней использованы все  особенности 386-го,  которые  я  смог
обнаружить, потому что хотел попутно разобраться в  его работе. Некоторые из
моих файлов на Си сильно смахивают на ассемблер.
     Как я  уже писал, она использует MMU  как для страничной подкачки (пока
не  на  диск),   так  и   для  сегментации.  Именно  из-за  сегментации  она
ПО-НАСТОЯЩЕМУ зависит от 386-го (у каждой задачи есть 64-мегабайтный сегмент
для кода и данных - максимум  64 задачи на 4 Гб. Если нужно  больше 64 Мб на
задачу -- будут проблемы).


     Несколько человек даже предложили стать бета-тестерами.
     В итоге  разместить  ее в Интернете было  просто  естественно. Я привык
обмениваться программами именно  так.  Поэтому вопрос был только один --  на
каком  этапе  я решусь  показать  ее  людям?  Или  точнее: когда  она  будет
достаточно готова, чтобы мне нечего было стыдиться?
     Вообще-то мне хотелось иметь компилятор и настоящую среду, чтобы  можно
было писать  программы прямо в Linux, без помощи Minix.  Но я был так  горд,
когда у меня заработала оболочка gnu, что был готов всем это показать. И еще
мне хотелось получить отклики.
     К  тому  моменту,  как  заработала  оболочка,  у  меня  было  несколько
элементарных бинарников, которые я скомпилировал  для операционки. Делать  с
ними  пока было  особенно нечего, но уже  было видно, что  система похожа на
Unix. На самом деле она работала, как увечная Unix.
     И вот я решился ее выложить. Я не делал публичных  объявлений, а просто
написал  пятерым-десятерым  хакерам  на  личные  адреса,  что она  лежит  на
FTP-сайте. В числе прочих  я  написал знаменитому среди фанатов Minix  Брюсу
Эвансу  и  Ари Лемке.  Я  выложил  исходники самой  Linux  и  еще  несколько
бинарников, чтобы можно  было хоть что-то делать. Я сказал, что нужно, чтобы
запустить все это хозяйство. На машине должна была стоять Minix (версия 386)
и нужен был компилятор GCC.  Причем на самом деле нужна была моя версия GCC,
поэтому ее я тоже выложил.
     Существуют  правила нумерации версий. Это вопрос психологический. Когда
вы  считаете, что программа по-настоящему  готова -- это  версия  1.0.  А до
этого  вы  нумеруете версии  так, чтобы было видно,  сколько  еще  предстоит
потрудиться до выпуска 1.0. Из этих соображений я положил на FTP-сайт версию
0.01. Чтобы все знали, что она мало на что пока годится.

     Эту дату я хорошо помню: 17 сентября 1991 года.
metaprog
() автор топика
Ответ на: комментарий от metaprog

Не знаю где там тотальные лаги, у меня телефон с Android 4.что-то-там был успешно обновлен до 7.что-то-там AOSP и нормально работает.

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

Про то, что весь софт - говно, мы уже услышали ваш тезис. Теперь осталось хотя бы понять, что вы говном называете, а после этого хорошенько это говно изучить, чтобы не повторить ошибок.

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

Ну значит ждём 0.01 через полгода, а через 3 года ждём 100 помощников. Сейчас кодописателей в 100500 раз больше, чем в 1991. И есть гугл, книги на торрентах и прочие помощники.

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

Зачастую лучше написать тормозящее что-то, чем очень оптимизированное и вылизанное ничего. Я по-прежнему считаю Android самой лучшей поделкой Гугля после поиска. Благодаря Android Linux стал самой популярной ОС на планете.

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

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

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

С Луны люди пишут?

Вот будет готов ваш суржик, тогда и оценим. Можно онлайн-олимпиаду устроить, кто быстрее какую-нибудь практическую задачку решит, текстовик или лабвью-мен. Заодно тормоза и лаги можно оценить. И в разработке и при использовании.

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

К счастью, вы не модератор, чтобы посылать меня на три буквы на этом ресурсе. Пока вы ведете себя, как неуч, поливающий всё вокруг дерьмом - кроме троллинга вы ничего и не получите. Попроще надо быть, и программы писать попроще. Амбиции редко приводят к чему-либо хорошему.

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

Вот єто уже ближе к делу. А пока тут ведеся разработка, а также обсуждение идеи (но лучше без троллинга).

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

Троллить иди на три буквы. По существу - надо будет - спрошу.

С таким гонором иди в макдачную свободную кассу объявляй.

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

Победитель очевиден.

Кроме скорости разработки, важна ещё читаемость и распространяемость. У текста с этим во много раз лучше.

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

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

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

Нет, аналоги создавать законом не запрещено. Запрещено реверс-инжинирить для создания аналога, а так же нельзя точно копировать интерфейс и использовать чужие Trademarks.

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

А с чего? Их код, программы, библиотеки я использовтаь не буду. Да и Метапрог можно разрабатывать анонимно, на кого они в суд-то подадут? На форумный ник?

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

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

Как там было... «Можно вывезти человека из деревни, но нельзя вывезти деревню из человека».

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

Да и Метапрог можно разрабатывать анонимно, на кого они в суд-то подадут? На форумный ник?

Вот это подход. В цитаты сегодняшнего дня (к перлу про то, что производители железок должны api на метапроге делать под свои железки)

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

Вообще барыгам дай малейший легальный повод подать в суд - засудят. Чисто чтоб бабло получить.

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

Владимир

Если правильно понял, то у Метапрог будет почти такой же интерфейс как у LabVIEW.
Ведь разрабатывается а-ля LabVIEW.

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

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

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

Сатоши Накамото знаешь?

Ты Илона Маска ещё забыл. Кто там ещё в кумирах у школьников, мечтающих разбогатеть...

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

А кого еще? Линуса я уже не раз упоминал.

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

Могут и не делать, хуже от этого будет только пользователям)))

Много чести ради одного нищего пользователя такое делать.

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

Просто ты своим хамством ничего больше не заслуживаешь.

anonymous
()

Владимир

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

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

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

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

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

Ну точно аутист с проблемами в понимании метафор.

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

Владимир

А я верю /православный/ и не фанатично ... Да и по жизни Бог по крайней мере пять жизней мне даровал.
Начнем с того, что когда родился врачи сказали - «Ребенок мертвый».
Моя тетя настояла на том, что это не так.
Согрели воду, начали делать искусственное дыхание и вот - ЖИВ!

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

Аутизм слабо связан с пониманием метафор (вроде бы, могу ошибаться)

Ну или что-то наподобие. Думаю, причины непринятия высокоуровневых абстракций и кода в виде текста лежат где-то рядом.

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

Думаю, причины непринятия высокоуровневых абстракций и кода в виде текста лежат где-то рядом.

Не отрицаю. Зато в графике (Лабвью) делаю огромные схемы - и они работают!

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

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

совершенно не упоминая такие понятия, как бит, байт, знаковое, беззнаковое, целое

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

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

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

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

Насчет ООП я вот смотрю - в учебниках начинают говорить об объекте, как что-то вроде «апельсин, яблоко, фрукт», совершенно не упоминая такие понятия, как бит, байт, знаковое, беззнаковое, целое, с плавающей запятой, массив, указатель, функция, указатель на функцию...

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

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

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

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