LINUX.ORG.RU

Метапрог-прототип, версия 7 + графические диалоги на Метапроге

 , ,


0

3

Скачать (перед запуском читайте !Русский.txt или !Українська.txt):

https://www71.zippyshare.com/v/dNcHIgzD/file.html

Новая версия принесла несколько новых фич интерфейса пользователя. Добавлено выделение прямоугольником для вырезания и копирования части диаграммы (в прошлой версии было только копирование и вставка одного блока по щелчку колесом мыши). После копирования куска диаграммы (с проводками с данными и жесткими последовательностями) его можно вставить кликом колесом мыши на пустом месте диаграммы. Есть план реализовать в будущий версиях также создание подфункций из выделенного куска - аналог Create SubVI из LabVIEW (так была сделана немалая часть функций в прототипе Метапрога).

Однако самая интересная фича новой версии - сериализация в base64 координат блока на диаграмме с цепочкой функций. Этому есть как минимум два возможных применения. Можно «ткнуть пальцем» на нужный блок (меню блоки - ткнуть пальцем на блок). Будет сгенерирована строка такого вида:

metaprog_debug:AAAAAAAAAAAAAAAHAAAAAFBUSDAAAAAEAAAAAAAAAAAAAAAAAAAAAwAAAAdNUEwgMi4wAAAAB0xJQ0VOU0UAAAAU4fPk6Ov87ejqIO3gIOfg7+jy4PUAAAAK0+rw4L/t8fzq4AAAABXh8+To6/zt6Oog7eAg5+Dv8O7x4PUAAAAH0PPx8ero6VBUSDEAAAAxcmVsIAAr0LHRg9C00LjQu9GM0L3QuNC6INC90LAg0LfQsNC/0LjRgtCw0YUubXBiZBNiCtNfkRABAAAAAwAAAAdNUEwgMi4wAAAAB0xJQ0VOU0UAAAAT9rPr7vfo8evu4ujpIOSz4Ovu4wAAAArT6vDgv+3x/OrgAAAAFPbl6+736PHr5e3t++kg5Ojg6+7jAAAAB9Dz8fHq6OlQVEgxAAAANXJlbCAAA25rYwAq0YbRltC70L7Rh9C40YHQu9C+0LLQuNC5INC00ZbQsNC70L7Qsy5tcGJkP/rfBI32qgEAAAADAAAAB01QTCAyLjAAAAAHTElDRU5TRQAAABDy5erx8u7i6Okg5LPg6+7jAAAACtPq8OC/7fH86uAAAAAQ8uXq8fLu4vvpIOTo4Ovu4wAAAAfQ8/Hx6ujpUFRIMQAAAC9yZWwgAANua2MAJNGC0LXQutGB0YLQvtCy0LjQuSDQtNGW0LDQu9C+0LMubXBiZFbEp7cIT2gBAAAAAwAAAAdNUEwgMi4wAAAAB0xJQ0VOU0UAAAAV5+Dv8/HqIOKz6u3gIE51a2xlYXIrAAAACtPq8OC/7fH86uAAAAAU5+Dv8/HqIO7q7eAgTnVrbGVhcisAAAAH0PPx8ero6VBUSDAAAAAWAAEAAgNua2MNbmtjIGluaXQubXBiZFQc/+kgVZgBAAAAAwAAAAdNUEwgMi4wAAAAB0xJQ0VOU0UAAAAO+PDo9PIg7fPq6+Xg8CsAAAAK0+rw4L/t8fzq4AAAAA748Oj08iDt8+rr5eDwKwAAAAfQ8/Hx6ujpUFRIMQAAADpyZWwgAANua2MAL9GW0L3RltGG0ZbQsNC70ZbQt9Cw0YbRltGPINC90YPQutC70LXQsNGAKy5tcGJkaxMcpv873AEAAAAAUFRIMAAAAAQAAAAAdcftGC2ZsAE=:metaprog_debug

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

Вместо тысячи слов:

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

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

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

https://postimg.cc/hQVLBcHp

Дебаг-строку выводит оранжевый блок.

В новой версии прототипа Метапрога было исправлено множество багов. Теперь метапроговские массивы и СУВТ можно помещать под указатели и вставлять в структуры, не боясь багов. Это позволило добавить к будильнику, реализованному в прошлой версии, диалоги, запрашивающие час и минуту срабатывания будильника.

Для компиляции надо скачать https://sourceforge.net/projects/tinyfiledialogs/

Распаковать в папке с Си-файлом так, чтобы работал соответствующий инклюд.

Код:

https://pastebin.com/5NW30tQx

Введя нужное число, закрываете окошко. После ввода часа и минуты в консоль будет выведено время срабатывания. Теперь будильником можно пользоваться и для повседневных нужд (звук пронзительный, хорошо слышный, sound.wav больше не нужен), однако завершать его работу надо еще через диспетчер задач или Ctrl+C в консоли, когда не идет звук. Также нет проверки введенных чисел, если введете не то число - будильник никогда не сработает.

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

Предыдущая версия:

Метапрог-прототип, версия 6 + будильник на Метапроге

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

Вот графический будильник, бипающий без wav файлов в цикле пока не нажмешь Enter!

#!/usr/bin/env bash
TIME=$(zenity --forms --title "Будильник" --add-entry="Час" --add-entry="Минута" --separator=':')
JOBCODE=$(
cat <<EOF
zenity --notification --text "Вставай проклятьем заклейменный!";
while ps -p $$ > /dev/null; do
	pactl load-module module-sine frequency=440;
	sleep 0.3;
	pactl unload-module module-sine;
done
EOF
)
JOBCODE=$(echo $JOBCODE | at "$TIME" 2>&1 | awk -F"job " '{ print $2 }' | cut -d" " -f1)
read
atrm $JOBCODE
По моему Метапрог-Будильник выглядит в сотню раз проще и понятнее, да и работает лучше - https://i.postimg.cc/gd7RZD9Q/image.png

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

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

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

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

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

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

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

Понадобится - прошарю и посчитаю.

При том что Вы квадратное уравнение решить не можете? Не прошарите и не посчитаете, это куда сложнее чем выучить пяток текстовых ЯП.

по переходам формулы, насколько я знаю, нехитрые,

По сравнению с квадратным у-ем это и правда адовый матан. А откуда эти формулы взялись? Практик какой то написал, или прохвессор постарался? Вы сказали что своими силами без всяких Шокли справитесь и тут же начали скулить что кого то найдете…

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

да чотам решать то! циклом от -100 до +100 с шагом в 1 все перебрать, добавить «фильтры», чтоб «убрать белый шум» и вуаля! Циклы метапрог уже умеет, а значит все уже решить можно, всю физику и математику, «и даже небо, и даже аллаха».

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

Да, это вариант… особенно если решение лежит за пределами диапазона [-100, 100] и варьировать надыть параметров эдак пяток.

Тут наверное понадобиться компьютер помощнее. Ой, у нас же нет компьютера - метапрог как раз его «придумывает»… упс;-(

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

При том что Вы квадратное уравнение решить не можете?

Могу.

это куда сложнее чем выучить пяток текстовых ЯП

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

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

Ладно, посмотрим. Сейчас еще есть что изобретать. Я вот изобрел уже по крайней мере Метапрог. А так как я не профессиональный программист, не дворник и не шпалоукладчик (как врали антиметапрогеры) - можно ожидать от меня и других изобретений.

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

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

И, опять же, баш, а не Си

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

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

Могу.

Как тут все видели - нет.

А ты-то прошаришь и просчитаешь все на свете.

Я то не утверждал что все могу, в отличии от Вас:

Если б мне довелось придумывать с нуля компьютер вместо них, то я сам бы за них все что надо придумал:)

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

А так как я не профессиональный программист, не дворник и не шпалоукладчик

Судя по Вашим комментариям Вы просто жалкий клоун, как и Диана. Я бы не доверил Вам даже укладку шпал, дворник это потолок Вашего карьерного роста. Ваши с Дианой знания об устройстве окружающего мира и Вашем месте в нем находятся где то на уровне аквариумной рыбки - Вы не знаете математики, абсолютно не разбираетесь в науке и технике и не знаете ничего из гуманитарной области. Вы паразит не способный ни что созидательное, само Ваше существование антиэволюционно. И это вовсе не оскорбление а по возможности сухая констатация факта… увы.

AntonI ()

Автор, твою энергию, да в мирное русло бы… Вот честно, уважуха. За упорство, упрямство и т.п. Хоть конечно и польза от этого сомнительна.

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

Хоть конечно и польза от этого сомнительна.

Все только начинается. Постараемся с Котечкой сделать для почтенной публики сюрприз на годовщину первой Метапрог-темы.

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

Пострадал. На Лабвью не пишут код, а собирают диаграммы. Вот если б «сделал» - тогда б смысл не пострадал.

А ты в курсе, что про художника тоже говорят «пишет картину»?

Да и «писать на Лабвью» для многих, как ни странно, незазорно. Эти люди умеют проводить аналогии, поэтому от слова «писать» применительно к визуальному программированию их не бомбит.

Ты же сам обкладываешь себя стереотипами и сам себя изощрённо травишь. Как главный «антиметапрогер».

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

Вы мне кстати так и не ответили по поводу проскипаного else и условия и ему предшествующего if, это если честно какой-то говнокод прямо конкретный, по сути если этот if не сработает то free не наступит и выполнится ветка else ничего не делающая и все это зависит от открытой переменной dynamic которую даже вы маслаете в этом маленьком примере несколько раз один раз инициализируя структуру, второй копируя в нее другую переменную в которую уже копируете 1 через операции присваивания, что кстати по сути тоже говнокод, смысл в этих присваиваниях через переменную, почему было сразу нельзя проинициализировать структуру с возведенным в 1 dynamic? И это увы не единственная переменная которая заводится просто так для того, чтобы вам было удобнее писать прослойку в виде метапрога, понятно дело что компилятор умный он это все подчистит за вами, но увы использовать этот выхлоп как часть исходников для проекта на С нереально уж слишком говнище.

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

Лол, найс тебя порвало. Я думаю самое время напомнить что ты так ничего и не смог ответить гениальному котечке - Метапрог-прототип, версия 6 + будильник на Метапроге (комментарий).

Правда потом было еще смешнее:

stasolog: в самом простом свитч вообще удален будет, так как тип будет известен в compile-time.

Antonl: До-до, с реализацией СУВТ ТС-а - обязательно! Вы еще упоротее чем пытаетесь казаться.

stasolog: Побежал оправдываться бездарь - https://godbolt.org/z/X24aCY.

Antonl: Дианочка, слив засчитан

С финального ответа я жеска проиграл как прочел, полная беспомощность. Эх, затягивает все же тред, на самоунижения антиметапрогеров можно смотреть вечно.

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

Так вы хоть гляньте в реализацию тут нет нихрена специфического что нельзя заменить на С

даже единственный захудалый класс


class clok
  {
    //private:
  public:
    int hh,mm,ss,dd,mmm,y;
    Mat a;

   // public:
    void get();
    void display();
    void pass(tm *a);
    void alarm(clok &c);
  };

и тот работает как структура все публичное. Побожтесь, это и есть С, такое даже язык не повернется С++ называть.

кстати этот будишьник - тоже типичный образчик говнокода :3 Но за-то простенько в один файл не более 200 строк кода и то делатель этого даже слишком много написал можно было еще короче.

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

Дианочка, Вы вообще то у меня в игноре, но я таки отвечу - не могу смотреть на Ваши невыносимые муки.

После Вашего эпического факапа с FMA («я вообще не понимаю где это может понадобиться»(с) Дианочка) говорить с Вами стало вообще не о чем. Увы… И как то пофик что Вы тут пишете - таких лулзов как то метапрога от Вас нет, сплошной унылый троллинг. Бай.

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

Ты чо! Тут же ключевое слово CLASS есть и методы. Значит тут это ваше никому не нужное ООП. Фу. Фу.

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

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

Ты кстати не ответил нужны ли деструкторы в плюсах - я слышал, что в ООПнутых ЯП есть деструкторы.

(c)

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

Ну да даже сами пользователи этого поделия шутят над ним, хоть у кого-то есть самоирония :)

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

Я то не утверждал что все могу

Можешь только книжечки штудировать и учить то, что сделали ДО тебя. Что-то сам изобретать - не можешь. Если есть доказательства обратному - в студию.

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

Знаю. В основном литография и планарная технология по кремнию. Из говна и палок без материальной базы и кучи сотрудников реализовать тяжеловато, но в принципе понятно. Да, я не знаю конкретных подробностей технологии хлорсилановой эпитаксии (а ты кстати знаешь?), но мне это и не нужно. Меня больше интересует что же можно сделать такого, чего еще не делали, чего еще нет в так любимых тобой книжках. И тут я уже на голову выше тебя. Это видно хотя бы по тому, что ты предпочитаешь принимать языки программирования какими они есть и говнокодить на интерпретируемом скриптушном недоязыке. А я не хочу жрать это говно и изобретаю Метапрог, транслирующийся прямо в Си и работающий с сишной скоростью, но при этом не сложнее в программировании, чем скриптушное Лабвью.

слив засчитан

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

Судя по Вашим комментариям Вы просто жалкий клоун, как и Диана. Я бы не доверил Вам даже укладку шпал, дворник это потолок Вашего карьерного роста

Да-да, было уже такое:

I still maintain the point that designing a monolithic kernel in 1991 is a fundamental error. Be thankful you are not my student. You would not get a high grade for such a design :-)

Well, I probably won't get too good grades even without you: I had an argument (completely unrelated - not even pertaining to OS's) with the person here at the university that teaches OS design. I wonder when I'll learn :)

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

Дианочка, Вы вообще то у меня в игноре

Умнеешь на глазах, уже взял на вооружение тактику liksys. Просто игнорируешь свое помножение на ноль, и уже как бы проблемы нет, весь мусор заметен под коврик %) Только я все равно буду множить вас на ноль, поэтому предлагаю гениальную вещь - перестать писать бредни, и уйти из отряда антиметапрогеров.

После Вашего эпического факапа с FMA («я вообще не понимаю где это может понадобиться»(с) Дианочка)

Фейковая цитата, эти слова относятся к твоим вопросам по операциям сложения/умножения/деления СУВТ. Зря ты и это не заигнорил, опять по штанине потекло %)

stasolog ()
Последнее исправление: stasolog (всего исправлений: 2)
Ответ на: комментарий от hobbit

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

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

Эх, видел бы ты мои диаграммы на Лабвью...

Кстати, посмотри на тот и прочие лабвьюшные форумы - они же дохлые почти все. Все же скриптушная ограниченность Лабвью, умноженная на копирастическую огороженность (вкупе с «законопослушностью» некоторых присутствующих и репрессивными мерами против «пираток» в бизнесе) дает о себе знать. У Метапрога таких недостатков не будет.

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

И все же это С++, который на сишном компиляторе не соберется.

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

Так собери на крестовом. Ты ж у нас вроде фанат шланга, так у него clang++ вроде как есть.

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

Ну с этим я не спорю, я просто говорю что такой «С++» по поведению тоже что и С, так что фактически это С. Я конечно мог бы найти и другую реализацию чтобы прямо собиралось С компилятором, но смысла в этом не много, суть в том что этих будильников на самом деле как грязи даже на С + любой сложности кода, вы просто не искали и утверждаете что их нет, они есть.

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

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

Конечно, это не спасает от сложных случаев, но в 99% ситуаций думать о памяти тебе не придется.

И таки да, утечки люди стараются искоренять. Мой код не течет, я его на это очень тщательно тестирую.

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

Языки со сборкой мусора как раз и обеспечивают отсутствие утечек.

Один из языков со сборкой мусора это Java. Только память в приложениях на Java постоянно течет, часто например серверные приложения рекомендуют перезапускать после того как они уперлись в лимит памяти, сборщик мусора то не работает, помогает только убийство процесса и перезапуск %) Помощь от сборки мусора просто неоценимая конечно, и ведь сколько памяти можно потратить, ресурсов процессора там, классно же, а? Не говоря уже о дополнительных сложностях. Совершенно не понимаю почему ОП и котечка не хотят в метапрог вшивать GC!

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

Нельзя. У тебя, к сожалению, ни ума, ни фантазии.

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

по поводу проскипаного else и условия и ему предшествующего if,

Сори, забыл. Посмотри диаграммы. Там условие - динамический массив, то есть тот, который в принципе подлежит free. Если это была константа - free не будет. Делать free на константы ж нельзя!

все это зависит от открытой переменной dynamic которую даже вы маслаете в этом маленьком примере несколько раз один раз инициализируя структуру, второй копируя в нее другую переменную в которую уже копируете 1 через операции присваивания

Все правильно: есть функция выделения динамической памяти, использующая malloc. Там же указывается, что массив - динамичский, то есть память, выделенная под него, подлежит освобождению. Если б вместо выделения памяти через malloc я задал константу - ее вообще не надо было бы освобождать. Более того: может быть, скажем, массив из строк, часть из которых заданы константами, а часть - динамические массивы, и когда настанет время освобождения памяти - тут-то и пригодится флаг «динамический».

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

что кстати по сути тоже говнокод, смысл в этих присваиваниях через переменную, почему было сразу нельзя проинициализировать структуру с возведенным в 1 dynamic? И это увы не единственная переменная которая заводится просто так для того, чтобы вам было удобнее писать прослойку в виде метапрога, понятно дело что компилятор умный он это все подчистит за вами

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

Вообще-то если говорить о сравнении производительности работы с такой структурой и обычной нуль-терминированной строкой, то отличие будет явно в мою пользу. Функции strcat, strcpy и прочие работающие с нуль-терминированными строками сканируют ВСЮ строку на заветный нуль чтобы узнать из размер в то время как с метапроговским массивом надо всего лишь обратиться к элементу структуры. И чем длиннее строка - тем больше выигрыш (представь себе сканирование гигабайтной строки в поисках нуля), да еще и можно спокойно использовать байт «0».

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

Вообще-то наоборот предполагается использовать сишные функции как сырье для Метапрог-проектов. Но и использование Метапрога для работы над в основном сишными проектами тоже в принципе возможно.

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

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

Назвался гумозником — теперь не отмоется.

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

сплошной унылый троллинг

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

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

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

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

Дианочка, Вы вообще то у меня в игноре

Умнеешь на глазах, уже взял на вооружение тактику liksys. Просто игнорируешь свое помножение на ноль, и уже как бы проблемы нет, весь мусор заметен под коврик %) Только я все равно буду множить вас на ноль, поэтому предлагаю гениальную вещь - перестать писать бредни, и уйти из отряда антиметапрогеров.

После Вашего эпического факапа с FMA («я вообще не понимаю где это может понадобиться»(с) Дианочка)

Фейковая цитата, эти слова относятся к твоим вопросам по операциям сложения/умножения/деления СУВТ. Зря ты и это не заигнорил, опять по штанине потекло %)

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

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

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

Языки со сборкой мусора как раз и обеспечивают отсутствие утечек.

Один из языков со сборкой мусора это Java. Только память в приложениях на Java постоянно течет, часто например серверные приложения рекомендуют перезапускать после того как они уперлись в лимит памяти, сборщик мусора то не работает, помогает только убийство процесса и перезапуск %) Помощь от сборки мусора просто неоценимая конечно, и ведь сколько памяти можно потратить, ресурсов процессора там, классно же, а? Не говоря уже о дополнительных сложностях. Совершенно не понимаю почему ОП и котечка не хотят в метапрог вшивать GC!

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

Думаешь, по стилю изложения не ясно, что это котечка писал? Я даже не буду читать этот бред до конца, не то, что отвечать.

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

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

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

Да не я просто про то, что котечкина аргументация как обычно такая «липкая» на что ТС и ведется, по факту котечка прав, утечка возможна и в менеджмент коде, но то что такие утечки отлавливаются в разы проще чем в С он умалчивает, тот еще стервец :)

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

Вот и все, никакого ответа, только попытка как то от него отделаться. Помножено. И так будет всегда.

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

Помножено

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

И так будет всегда

А вот тут соглашусь. Твой уровень, который будет всегда - работа с крикливыми вонючими бомжами.

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

утечка возможна и в менеджмент коде

А я о чем в исходном сообщении писал? Что не спасает в сложных случаях.

такие утечки отлавливаются в разы проще чем в С

This.

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

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

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

ну да, забыл это упомянуть что ваши слова друг другу не противоречат, но котечка как обычно делает вид как будто это не так. @котечка вы еще тот озорник ;), но хватит пудрить мозги бедному @metaprog

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

По существу я написал в своем исходном каменте. Ответный бред опровергать мне не интересно. Проблема в том, что нет смысла опровергать технической аргументацией рандомно сгенерированный бред. Генератор этот аргументацию не слушает и игнорирует, выдавая в ответ лишь новове порции бреда. Это даже не дискуссия, лол.

liksys ★★ ()
Ограничение на отправку комментариев: