LINUX.ORG.RU

Метапрог-прототип 14 + условные схождения

 , ,


1

2

Следующая версия:

Метапрог-прототип 15 + модернизация СУВТ

Скачать:

https://www66.zippyshare.com/v/xI27OTji/file.html

Доработаны условные схождения. Теперь можно собирать сложную логику с условным возвратом значений на переключателях (switch) по цифровым переменным, пронумерованным спискам (енум) и СУВТ.

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

Метапрог-прототип 13 + LOR Browser



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

Ну как не про то, если можно написать свой аллокатор со счётчиком ссылок? И у меня, кстати, студенты пишут в качестве домашнего задания.

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

Ну приоткрой завесу тайны, как же это будет работать? Лучше всего, если приведёшь хотя бы примерный «сгенерённый» сишный код.

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

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

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

Давай пример кода со своим универсальным деструктором. У вас же уже есть представление, как это будет работать. Накидай хотя бы псевдокод.

Talk is cheap, show me the code!

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

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

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

ну это вообще-то было в С++ как минимум

Что было?

И вообще-то относятся, все эти механизмы относятся к реализации этого ООП

Какие механизмы? В СУВТ от ООП только «„„виртуальные методы““» и все. Никакого наследования, никакого привата, ничего больше.

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

Падажди. Ты писал:

attribute cleanup требует написания деструктора под каждую структуру, в метапроге же он будет один.

Теперь ты пишешь:

Деструктор универсален только в диаграмме, в С он будет всегда разным.

То есть по сути вы будете генерить разные деструкторы, аналогично применению attribute((cleanup)) с разными коллбэками. Так в чём революция-то? Я могу и в сях через этот cleanup так делать, и в крестах нахерачить shared_ptr<> с разными deleter’ами.

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

Падажди. Ты писал.

Тут как с шаблонами, в ассемблере для разных типов разные функции, а в С++ коде у тебя только шаблонная функция. Вот и будет шаблонный деструктор.

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

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

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

//Где звезды потерял?

Так он в каждом втором треде гомошутки постит. Интересно что будет когда он потеряет их все...

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

//Где звезды потерял?

Все вопросы к Альбатросу! (вот это я стихоплёт!!!11)

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

счетчик ссылок не как часть языка, гц не как часть языка.

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

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

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

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

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

Соглашусь.

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

Тогда он пройдёт ЛОР. Можно будет проходить по второй.

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

А нахрена из 64-разрядных вёнд поддержку 16-разрядных приложений выкинули?

Потому что процессоры в 64-х разрядном режиме не могут исполнять 16-и битный код.

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

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

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

ОС обязана работать и на одном то ядре

Не знаю, были ли 64 битные одноядерные процессоры... Но вообще с 1 ядром можно отключать поддержку 16-битных приложений просто.

то ядро что 16-и битное, будет иметь доступ только к нижним 640 мегабайт оперативы

Точно. Но можно его перевести и в 32 бита.

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

Не знаю, были ли 64 битные одноядерные процессоры

Были. Первые Athon 64 были одноядерными. Celeron-ы 64-х битные одноядерные тоже были, приличное количество.

Но можно его перевести и в 32 бита.

Нельзя.

И главное забыли. А щто скажут юзеры, собственно ? А скажут они, щто каккого икса у меня украли ЯДРО ???

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

Метапрог нацелен на интуитивную оффлайновую работу, какой гугл, какой SO?

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

metaprog_debug:AAAAAAAAAAAAAAAFAAAAAFBUSDAAAAAEAAAAAAAAAAAAAAAAAAAAAwAAAAdNUEwgMi4wAAAAB0xJQ0VOU0UAAAAj9rPr7vfo8evu4ujpIOSz4Ovu4yDiIOfg5ODt6PUg7OXm4PUAAAAK0+rw4L/t8fzq4AAAACj25evu9+jx6+Xt7fvpIOTo4Ovu4yDiIOfg5ODt7fv1IO/w5eTl6+D1AAAAB9Dz8fHq6OlQVEgxAAAAUnJlbCAAA25rYwBH0YbRltC70L7Rh9C40YHQu9C+0LLQuNC5INC00ZbQsNC70L7QsyDQsiDQt9Cw0LTQsNC90LjRhSDQvNC10LbQsNGFLm1wYmRl5HnOUoxIAQAAAAMAAAAHTVBMIDIuMAAAAAdMSUNFTlNFAAAAE/az6+736PHr7uLo6SDks+Dr7uMAAAAK0+rw4L/t8fzq4AAAABT25evu9+jx6+Xt7fvpIOTo4Ovu4wAAAAfQ8/Hx6ujpUFRIMQAAADVyZWwgAANua2MAKtGG0ZbQu9C+0YfQuNGB0LvQvtCy0LjQuSDQtNGW0LDQu9C+0LMubXBiZAuNnxf/yyABAAAAAwAAAAdNUEwgMi4wAAAAB0xJQ0VOU0UAAAAQ8uXq8fLu4ujpIOSz4Ovu4wAAAArT6vDgv+3x/OrgAAAAEPLl6vHy7uL76SDk6ODr7uMAAAAH0PPx8ero6VBUSDEAAAAvcmVsIAADbmtjACTRgtC10LrRgdGC0L7QstC40Lkg0LTRltCw0LvQvtCzLm1wYmRWxKe3CE9oAQAAAABQVEgwAAAABAAAAABLly185EzwAQ==:metaprog_debug

Вы ещё и ассумите, что у всех есть выход в Интернет, чтобы там что-то «спрашивать»? Да и распространять его можно сарафанным радио, через мобильные мессенджеры.

Распространять Метапрог можно будет любыми способами. Для тех, у кого Метапрога (чтобы собрать Метапрог) еще нет, будут предоставляться возможности скачать бинарник или компилируемый код на Си. Кстати, в контексте первоначального распространения я буду не против использовать и всякого рода гитхабы, если кому будет не лень выкладывать туда нужные файлы.

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

Пробелма в том, что корпорастам со штатом юристов патенты получать легче, чем изобретателям-одиночкам. Линус Торвальдс, JFF:

Ясно, что  лишь  немногие  индивидуумы  получают
патенты. А вот компании получают  их тоннами.  Это хорошее оружие для защиты
от  других  компаний,  которые  грозят  подать  в суд  за  использование  их
патентов. Современная патентная система -- это по существу "холодная война",
где вместо ядерного оружия  используется  интеллектуальная  собственность. И
эта  война  немногим  лучше  той.   Изобретатели-одиночки,  столкнувшиеся  с
безумной  системой  и  не  имеющие  возможности  нанять  12  тысяч  юристов,
оказываются загнанными в бомбоубежища.
metaprog
() автор топика
Ответ на: комментарий от mertvoprog

Инфляция и деньги на банковских счетах пожирает если шо.

А вообще печатние необеспеченной туалетной бумаги, ведущее к инфляции - это по сути ограбление без приставления пистолета. И если «простых смертных» фальшивомонетчиков наказывают, то аферистов из ФРС США/ЕЦБ/ЦБ РФ/НБУ, печатающих в интересах олигархов миллиарды и триллионы условных единиц туалетной бумаги, закон почему-то защищает. Потому что не ради лохов законы пишутся, только и всего. Но на Украину надежда еще есть, не зря ты намекнул на площадь:)

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

Закон есть проявление воли господствующего класса.

С помощью инструмента на букву М воля господствующего класса отправляется на гилляку.

Сразу видно: свой человек!

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

Это вообще реалистичный пример? Если люди выбирают между покупкой программы и еды, то может им и программа не так уж и нужна? Программа (не говоря уж об играх, музыке и пр.) не является предметом первой необходимости.

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

Так можно и карманников оправдать.

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

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

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

Линус в JFF придерживается почти таких же «фашистских взглядов»...

Вот дословная цитата:

     Вообще  говоря,  я  смотрю  на  проблему авторских прав с двух  сторон.
Возьмем  человека,  который  зарабатывает  50 долларов  в  месяц.  Можно  ли
ожидать, что он  заплатит  за программу  250  долларов? Я не считаю,  что он
поступит  аморально, если  нелегально скопирует  программу,  а сэкономленную
сумму, равную своей зарплате за пять месяцев, потратит на  еду. С  моральной
точки зрения это вполне допустимо. И было бы аморально,  да  и просто глупо,
преследовать такого  "нарушителя". Что  касается Linux,  то кому какое дело,
соблюдает ли человек GPL, если он использует программу для собственных нужд?
Вот когда кто-то  собирается на  ней  зарабатывать, игнорируя GPL, --  это я
считаю аморальным, будь то  в США или в Африке. Но  и  тогда  все зависит от
масштабов. Жадность всегда отвратительна.
metaprog
() автор топика
Ответ на: комментарий от metaprog

А у меня другая ошибка. Что делать? Stackoverflow не находит.

metaprog_debug:0JTQsC3QtNCwLCDRjyDQv9GA0LXQutGA0LDRgdC90L4g0L/RgNC+0LPRgNCw0LzQvNC40YDRg9GOINC90LAg0JvQsNCx0LLRjNGOLCDQvdC1INC30L3QsNGPINC30L3QsNGH0LXQvdC40Y8g0LLRgdC10YUg0Y3RgtC40YUg0LfQsNGD0LzQvdGL0YUg0YHQu9C+0LLQtdGBLg==:metaprog_debug
rupert ★★★★★
()
Ответ на: комментарий от rupert

У меня эта функция есть? Это из стандартной метапроговской библиотеки?

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

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

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

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

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

Да.

Открытых и бесплатных много. Есть gnu/Linux, есть офисные пакеты. Есть доступные средства разработки. Бери, пользуйся, делай свое, игнорируй «олигархов» и их продукты.

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

Вот и копируй свою информацию, которую сам создал. А за доступ к которой не оплатил, ту не трогай.

Хотите пиратить – пиратьте, не нужно оправданий в духе «всё общее». Если денег нет или просто не хотите покупать - так и скажите.

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

А если я на украденной двусотпятидесятидолларовой программе заработаю тысячу долларов? А если сто тысяч? Морально? Жадность не так отвратительна? Где начинается отвратительно? Корпорациям нельзя, а индивидууму можно? Могу ли я, нарушив gpl, интегрировать библиотеку в свой продукт, заработать? В какой момент это будет отвратительно?

sergey3000
()
Последнее исправление: sergey3000 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.