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)
Ответ на: комментарий от liksys

Ничего нового он не придумал, кроме «былобы круто нарисовать Си код вместо его написания». А то до него таких «инноваторов» не было, ага :D

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

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

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

Одним из языков, кстати, будет «C». Это означает, что взятые из сишных инклюдов типы станут неанонимными.

На луркморг, однозначно!

Вот такое вот, товарищи, у нашего поциента прочтение локали LANG=C.

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

Развитые системы типов имеется во многих языках. То, что ты сделал - всего лишь частный случай ООП плюс сомнительные ограничения на использование карманных типов. Это не повысит производительность труда и не уменьшит трудозатрат программиста, потому что не избавить от необходимости штамповать шаблонный код. Говно, короче. Дальше давай.

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

Прощу прощения

за свою дикую отсталость :) и за то, что вмешался в ваш диалог с ТС, но что за «паскаль с русскими кейвордами» Вы упоминали?

anymouze ★★
()
Ответ на: Прощу прощения от anymouze

А, это наследие девяностых-двухтысячных. В то время было много попыток сделать русификацию ЯП для уменьшения порога вхождения. Русские ЕСЛИ-ТО, ЦИКЛ, ПЕЧАТАТЬ и прочее. Конкретных названий проектов уже не вспомню. Сейчас осталось в виде языка 1С. А ещё раньше были русифицированные бейсики на древних компах.

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

А что за сакральное значение у локали LANG=C?

Проблемы начинаются как раз тогда, когда всякие эдички начинают её сакрализировать, ибо:

Modern systems are moving to UTF-8 environments, which makes the language part mostly irrelevant; it can display (almost) all characters in all supported languages, regardless of what language the user is using. However, ancient Unix systems used a locale of ‘C’, which uses the character set US-ASCII, and sorts things (like directory entries, for example) according to the ASCII sequence of characters.

Короче, это синоним локали US-ASCII с алфавитной сортировкой по кодам. В современном мире эта дичь неактуальна от слова вообще.

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

Но сишные идентификаторы по-прежнему делают только в ASCII. Да и это собственное обозначение, а не общепринятое. Или лучше свое придумать? Например «Csrc»?

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

Нет.

Во-первых, не твоя личная армия. Хочешь что-то получить - научись говорить «пожалуйста».

Во-вторых, ты уже взрослый мальчик, пора бы самому начать искать и обрабатывать информацию.

В-третьих, не в коня корм.

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

Потрясающе ;)

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

Нет, правда... Вот можно примеров накидать — «жирный» софт для консоли/текстового режима, который после реинкарнации в GUI-приложение стал «подтянутым и эффективным». Я-то всегда был уверен, что любое «консольное» ПО весит меньше и работает «напрягает» процессор/систему меньше, чем такое же, но с перламутровыми пуговицами GUI-интерфейсом. Просто этот самый «графический интерфейс» довольно «жирная и прожорливая сущность» в отличии от... Да он позволяет снижать квалификацию пользователя, но для достижения такого результата приходится больше работать разработчикам и компьютеру. Есть обратные примеры?

Может я не знаю чего-то и делаю неверные выводы?

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

Это неподдерживаемая невоспринимаемая лапша. Через месяца три ты в ней уже сам не разберешься

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

metaprog
() автор топика
Ответ на: Потрясающе ;) от anymouze

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

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

Думаешь я жить не смогу без «карманных типов» и ООП? Как-то же я делаю работоспособный софт в Лабвью, при этом не используя ООП?:)

metaprog
() автор топика
Ответ на: Потрясающе ;) от anymouze

Я-то всегда был уверен, что любое «консольное» ПО весит меньше и работает «напрягает» процессор/систему меньше, чем такое же, но с перламутровыми пуговицами GUI-интерфейсом. Просто этот самый «графический интерфейс» довольно «жирная и прожорливая сущность» в отличии от... Да он позволяет снижать квалификацию пользователя, но для достижения такого результата приходится больше работать разработчикам и компьютеру.

Большая часть этих проблем от того что графические интерфейсы пишут в тексте в толстых и глючных фреймворках.

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

Как только ты чуть-чуть отойдешь от кода

От какого кода?

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

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

От какого кода?

От диаграмм своих.

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

А, понятно... Для начинающих изучать программирование «такое» не годится лучше «не предлагать» © — потом всё равно переучиваться надо будет запоминать кейворды в латинице. Вот для пользователей может быть полезно (в принципе).

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

Можно сделать, чтоб не плевались. Причем давно уже.

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

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

Весь замысел метапрога состоит в отрицании этого тезиса. Если ТС не послушал других, то почему тебя послушает? Rebforce не просто так назвал его необучаемым. Чужое мнение никак не воздействует на его мнение, он изменит своё мнение только после прыганья по граблям.

Все спрашивают ТСа «зачем это делать?» и он спорит, повторяя свои тезисы. Котечка не спорит с ТСом «зачем», он отвечает на его «как это сделать?» и даёт ТСу то, что он просит.

Просто смирись с тем, что ТС работает попугаем в ответ на советы, что противоречат его идеям.

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

Для того, чтобы запилить constexpr, в компиляторы С++ добавили интерпретатор С++. И компиляция стала ещё дольше.

Однако существует по крайней мере одна опенсорсная реализация интерпретатора Си, с её помощью можно запилить аналог constexpr в сишке.

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

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

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

Да, я не понимаю этих концептов

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

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

Суть что надо всего лишь найти нужные функции

Если бы это не было просто в текстовых ЯП, то большинство быдлокодеров уже бы вышли вон из профессии.

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

Красиво, правда?

В больших проектах сопровождаемость кода стоит на первом месте. Даже если производительность ужасная. Такая лапша подходит только для «смотрите как я могу». С таким подходом не может быть и речи о командной разработке.

Но зума и многих других плюшек явно не хватает

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

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

Как же тогда люди ориентируются на викимапии? Это же одна огромная схема! А очень просто: каждый ищет там нужный город, улицу, объект и огромная схема становится простой и понятной.

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

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

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

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

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

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

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

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

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

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

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

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

Твои «структуры условного выбора типа» - это велосипед, ты переизобрёл тип Variant. Он есть в гтк, его изобрели ещё до сишки для лиспов с динамической типизацией. Если бы не эти «структуры условного выбора типа», то лиспов, питона, пыхи, руби, луа, js'а, перла и прочей скриптухи не существовало бы в природе или она была бы совсем другой.

Кстати, только примитивные типы и сложные объекты как композиция простых и связи между ними лежат в основе проектирования БД в реляционных СУБД. Поэтому наделали кучу ORM для «моста» между объектами ЯП и примитивами РСУБД.

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

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

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

С другой стороны это показывает нам насколько современные «вычислительные мощности» дешевы/доступны. Все эти «легенды» (нет, честно: в современном «околокомпьютерном социуме» это именно легенды) про ручную оптимизацию, учёт каждого такта и т.д. очень будоражат «неокрепшие умы», но их («легендарных оптимизаций») время безвозвратно ушло :( Я и сам «сторонник» экономии тактов/памяти... :( но на практике работающий код «побеждает» мою тягу к оптимизациям... вот так как-то.

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

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

Вел бы, но в правилах официальный язык русский. Я здесь потому что:

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

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

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

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

Зачем декомпозировать то, что не дублируется?

ДЕЙСТВИТЕЛЬНО. Собственно, такие вопросы - последствия невежества, отсутствия профильных знаний и опыта.

Вот так и с программированием.

Аналогия - не аргумент, еще раз повторяю.

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