LINUX.ORG.RU

Metaprog: универсальная графическая среда программирования [в разработке] часть 3

 , , ,


3

6

Не нравится - проходите мимо. Нравится - помогайте проекту.

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

Metaprog: универсальная графическая среда программирования [в разработке] часть 2 (комментарий)

Metaprog: универсальная графическая среда программирования [в разработке] часть 2 (комментарий)

Metaprog: универсальная графическая среда программирования [в разработке] часть 2 (комментарий)

Чисто технические. По Си, библиотекам итп. А поучать не по делу - «не учите меня жить, лучше помогите материально».

Примеры

Metaprog: универсальная графическая среда программирования [в разработке]

Metaprog: универсальная графическая среда программирования [в разработке] часть 2

Собственная метапроговская функция

Метапрог не только умеет вызывать сишные функции, но на нем можно и свои делать. Функция для открытия слушателя (listener) на нужном адресе и порте и ее схема:

https://i.postimg.cc/8kXBCX40/image.png

Зеленые линии - особенные. Они задают жесткую последовательность выполнения. Сначала bind и только потом уж listen. Сначала listen - и только потом уж сокет можно передать дальнейшим функциям (например, accept).

У функции есть своя пиктограмма.

Открытие окошка

Этот пример открывает окно. Там же есть асинхронный вызов (на завершение):

https://i.postimg.cc/zGhHKQNv/image.png

Инициализация (отдельная функция, инлайнится еще на уровне метапрога в главную диаграмму):

https://i.postimg.cc/JnpsRVN6/image.png

Асинхронная функция на завершение:

https://i.postimg.cc/WpfdKVbt/image.png

Все это генерирует такой код (опять же - не для эстетов, а для скармливания gcc):

https://pastebin.com/T3Bu5Qy6



Последнее исправление: CYB3R (всего исправлений: 9)

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

Вместо синтаксиса придется учить что делает каждый блок

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

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

Наоборот, в этом одно из преимуществ. (если я правильно понял о чем ты)

(ну либо аффтору придется переписывать все библиотеки на metaprog)

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

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

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

Там как МИНИМУМ не надо будет учить синтаксис ниакой,

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

Не надо будет ничего учить? То есть For loop надо будет самому велосипедить?

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

Это очень легко исравляется - тебе *тут же* об это говорит линтер или индентация кода. В худшем случае - компилятор.

А вот в графпроге перпутать пару проводков - как пить дать.

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

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

Нет. В Forth синтаксиса нету считай, а автор его пишет что у программиста в редакторе не должно быть Ctrl+C, Ctrl+V.

Не надо будет ничего учить? То есть For loop надо будет самому велосипедить?

Проще понять это в графике, особенно когда видно как по проводкам бегут данные.

Это очень легко исравляется - тебе *тут же* об это говорит линтер или индентация кода. В худшем случае - компилятор.

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

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

А вот в графпроге перпутать пару проводков - как пить дать.

У тебя отсутствие понимания метапрога! Там есть типы, там контракты (будут)!

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

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

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

ТС уже приделал к проекту сишные колеса - UB и устройство памяти через его схемки никуда не исчезнет.

Я уже предвкушаю появление в Метапроге собственных UB и их наложение на сишные...

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

Вот скажи честно, ты приходишь на ЛОР просто что бы с тобой просто поговорили да?

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

Почему ты вечно выдираешь полфразы? Я ж сказал: линтер КОТОРЫЙ ПРЯМ ВНИЗУ ПИШЕТ в чем ошибка: ПРОПУЩЕНА СКОБА МЛЯ. ПРОГЕР, МЛЯ, ПОСТАВЬ СКОБУ, БАЛДА ТЫ СТОЕРОСОВАЯ, ХВАТИТ ТУПИТЬ.

про конпелятор новичок вообще не должен знать - нажал RUN, и в окне опять ему пишут - тоже самое - А НУ СКОБУ ПОСТАВИЛ, СЦУКО.

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

Это ты щас про метапрог?

Не надо будет ничего учить? То есть For loop надо будет самому велосипедить?

Проще понять это в графике, особенно когда видно как по проводкам бегут данные.

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

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

Проще понять это в графике, особенно когда видно как по проводкам бегут данные.

а вот городить эти велосипеды сотни раз - не проще. И читать их по сто раз в разных формах - тоже.

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

Нет. В Forth синтаксиса нету считай, а автор его пишет что у программиста в редакторе не должно быть Ctrl+C, Ctrl+V.
не должно быть Ctrl+C, Ctrl+V.

Он про копипасту. Светило науки, первооткрыватель, блин. А нет, стоп, для этого еще до него придумали функции, макросы, темплеты и прочие абстракции.

Да и потом - где сейчас твой Forth? Помойку осваивает? Метапрог == Forth? О чем ты вообще?

И почему ты вечно вплетаешь какие-то одному тебе понятные аргументы? Перемешиваешь термины. Понятно новичку - не значит ему это будет нравиться. Метапрог рекламируют как полную замену всему софту. Вот так и давай говорить - будет ли это удобно закоренелому кодеру. Будет ли удобно читать код. Подсказка: перечитай, что я писал про информацию и шум.

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

Вот скажи честно, ты приходишь на ЛОР просто что бы с тобой просто поговорили да?

Конечно, станешь моим другом?

Почему ты вечно выдираешь полфразы?

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

Я ж сказал: линтер КОТОРЫЙ ПРЯМ ВНИЗУ ПИШЕТ в чем ошибка: ПРОПУЩЕНА СКОБА МЛЯ. ПРОГЕР, МЛЯ, ПОСТАВЬ СКОБУ, БАЛДА ТЫ СТОЕРОСОВАЯ, ХВАТИТ ТУПИТЬ.

Почитай чуть выше про IDE и массивы, про скобку это я просто так сказал, ошибки бывают и круче!

про конпелятор новичок вообще не должен знать

Ахахахаахахаха.

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

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

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

Он про копипасту. Светило науки, первооткрыватель, блин. А нет, стоп, для этого еще до него придумали функции, макросы, темплеты и прочие абстракции.

Ты глупый и не хочешь принимать что то новое для себя, в Forth все это может быть, а может и не быть... Расширение языка! Вот что важно.

Да и потом - где сейчас твой Forth?

Мой? Короче если будут адекватные комментарии, я на них отвечу, а так... только тему засорять...

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

Я уверен, у варфела сейчас на этот счет как всегда свое особо противоположное мнение найдется.

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

Вот скажи честно, ты приходишь на ЛОР просто что бы с тобой просто поговорили да?

Конечно,

вот я так и подумал

станешь моим другом?

в гей бар сходи

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

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

Вот опять какие-то левые аргументы. Уже вим приплел. Ему одно - он тебе под углом что то совершенно не в тему иное.

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

Я повторю вопрос. Метапрог == Forth? Что он повторяет из него?

ПРИМЕРЫ ДАВАЙ

куча идей

Я же говорю, это как лисп только еще и с графикой, уровнем выше! Можно придумать какие угодно блоки улучшающие работу с кодом, можно не ограничивать себя никак текстом.

ну так что там с примерами?

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

про конпелятор новичок вообще не должен знать

Ахахахаахахаха.

А что ты смеешься? IDE все тянет и решает. Метапрог - такая же идея IDE. Ты же сам говоришь про низкий порог вхождения и что даже сишный синтаксис уже выучить трудно.

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

Перестал отвечать? Ясно, значит примеров мы не дождемся.

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

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

Сделай одолжение. Бойкотируй эту тему. Толку ноль, только срач, который модераторам потом чистить (уже не раз чистили, кстати, за что им спасибо).

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

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

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

Сделай одолжение. Воспринимай критику адекватно. Толку ноль, только срач, который модераторам потом чистить (уже не раз чистили, кстати, за что им спасибо).

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

Адекватную критику воспринимаю, а в ответ на всякие предъявы на грани приличия (некоторые даже с матюками) могу только послать.

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

И 32 гб памяти для этого дела конечно же

Алё, я дебагером и брекпойнтами спокойно пользовался во времена борланд паскаля и ОЗУ в пару МЕГАбайт.

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

Алё, я дебагером и брекпойнтами спокойно пользовался во времена борланд паскаля и ОЗУ в пару МЕГАбайт.

Я же уже писал, бейсики и берланды в прошлом, теперь время IDEA! Какие альтернативы? Сейчас уже не запустишь этот борланд!

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

В Делфи тоже были брейкпоинты и хороший дебаггинг, довольно удобная вещь. Но не настолько как Лабвью.

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

Запустить можно, но что то написать - нет. Qt5 там поддерживается? Gtk3? Звук? Работа с видео? Сетью?

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

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

теперь время IDEA

Зачем же сразу брать самый тяжёлый случай... Есть и попроще решения.

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

что для работы брекпойнтов гигабайты не нужны

В 2019 году - нужны.

Есть и попроще решения

Какие?

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

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

В графическом коде тоже надо будет работать, но это будет куда проще. Даже тот же gtk, выжирающий 30 мегабайт со старта, тоже можно при желании оптимизировать, но это уже, наверное, будет в Gtk 5, разработанном на Метапроге:)

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

Да просто технологии жирнеют, тут даже не в оптимизации дело. Хотя и в ней тоже!

Даже тот же gtk, выжирающий 30 мегабайт со старта

Да там наверное можно просто сделать сервер gtk3 приложений, это ж наверное инстанс gtk3 столько берет как библиотеки.

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

После выхода первых версий, я думаю все все поймут на практики и по видео.

Даже видео - такое себе дело. Лучше встроенная интерактивная обучалка.

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

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

А с чего бы инстансу жрать 30 мегабайт? Пускай берет только то что надо. Ладно, то потом разберемся, имея готовый метапрог (или разберется команда гтк). Да и 30 мегабайт - не так уж и много против гигабайтов, выжираемых монструозными IDE на джаве, верно?

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

А с чего бы инстансу жрать 30 мегабайт?

Что бы загрузить все библиотеки, окошко само же меньше ест. Вот если бы можно было использовать одну библиотеку на несколько программ....

Да и 30 мегабайт - не так уж и много против гигабайтов, выжираемых монструозными IDE на джаве, верно?

Конешн. У меня кстати geany со всеми плагинами (отладчик, навигация по коду, куча их) и загруженными тегами на 319391 определений кушает всего 39 мб, но она на gtk2. Сегодня собрал pavucontrol с gtk3, он на старте 40 отъедает %) Вот оно разжирение технологий, а куды деваться?

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

Твои примеры кстати компилируются и с gtk2, нужно просто версию поменять в pkg-config, с gtk2 - 15M, с gtk3 - 21M. В принципе удобство повысилось, я думаю не особо страшно...

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

А что поменялось в лучшую/худшую сторону в гтк 3 против гтк 2? Что-то вроде лучше с графическим ускорением?

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

Не скажу так, лучше почитай где нибудь.

Что-то вроде лучше с графическим ускорением?

Вроде бы да, хотя у меня он тормозит. Но за gtk3 будущее, а gtk2 когда нибудь просто выкинут из дистров.

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

А в целом аналогичные проги на Qt жрут столько же сколько гтк? Плюсы вроде более склонны к ожирению софта.

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

Ассемблер тоже быстрее, но программы на С быстрее получаются обычно. %) Ну и Gtk эмулирует ООП, это медленнее чем нормальная его поддержка в языке.

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

Думаю, что тут поможет разработка гтк 5 уже на метапроге. Или вообще форк гтк:)

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

Это что у тебя за хеллоуворлды такие? Только что запустил свой кутешный проект (32-разрядная сборка, правда) - 7,5 мб.

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

Есть signed а есть unsigned. Через typecast.

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