LINUX.ORG.RU

Метапрог-прототип 42

 , , ,


1

3

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

Метапрог-прототип 43: начало переделки «на самом себе»

Скачать

https://mega.nz/file/SARWFB4D#5xZE8MxcEH1W-JvIcdm83ArSbQRdt_ueh86mohc96lQ

В 42 версии были исправлены еще несколько багов. Но она не была своевременно анонсирована на ЛОРе.

В 41 версии исправлены еще несколько багов транслятора.

В 40 версии исправлена трансляция условий в циклах в некоторых случаях.

В 39 версии исправлен баг упаковки, из-за которого не паковался транслятор.

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

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

В новой 36 версии прототипа Метапрога существенно улучшена скорость работы графического редактора. Те, кто раньше испытывали проблемы с медлительностью редактора (например, mertvoprog), приглашаются попробовать новую версию.

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

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

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

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

Первоапрельская шутка:

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

Многие на этом форуме советовали мне бросить LabVIEW и я очень сожалею, что принял это решение только сейчас. Два года потрачены впустую! Особенно был прав liksys, долго пытавшийся меня вразумить: на python чего только не пишут, зачем заморачиваться с визуальным программированием, особенно с опорой на Си?

Что дальше? Скорее всего, буду по-настоящему учить текстовые ЯП. Какие посоветуете и по каким книгам?

С праздником!

Предыдущая тема:

Метапрог-прототип 34 + СУВТ по логическому типу



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

Я ванговал полтора года назад, что он тихо исчезнет? Ванговал. Сколько он в ответ петушился, сколько его ручной клоун тут плясал… А все в итоге так и произошло.

liksys ★★★★
()

Версия 37

Подробности в заголовке.

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

Ты хоть одну книжку прочитал в жизни?

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

Очень жаль, что Лабвью не стало универсальной средой программирования и оно не портировано, например, на андроид и веб, поэтому приходится таки делать Метапрог. Прототип на Лабвью, на чем же еще?

Тебе сколько лет?

Скажем так, СССР не помню, но виндой 98 пользовался еще в те времена когда она была мейнстримом и даже сидел на dial-up интернете. Веселые были времена, килобитные скорости и постоянные дисконнекты и перезвоны провайдеру. Скучаю по проводным телефонам:)

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

Транслятор вынесен в параллельные асинхронные колбеки

Так параллельные или асинхронные, это какое-то масло маргариновое.

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

В 37 версии исравлены баги транслятора на некоторых схемах с операцией над структурой.

ШЕЛ ТРЕТИЙ ГОД

пытался читать талмуды по джаве … лабвью было настоящим спасением

А-а-а, так вот в чем дело. Так это, моншер, тебе не не на лор программировать, а к психилогу надо. Вот что жава с людьми делает!

Нихрена подобного

Прогресс за месяц титанический.

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

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

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

Читал многое. Даже пытался читать талмуды по джаве. Исплевался и понял насколько текстовое программирование ужасно

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

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

Знаешь, есть такая армейская мудрость, ты сначала не делай как ты считаешь правильным, а научись, для начала, далать как товарищ сержант, а уж когда научишься (как правило и до его уровня не доучишься) – будешь уже свое новаторство пихать. Это не лишено смысла: люди здесь десятилетиями эту рабуту делают и не хуже тебя в 999 из 1000 понимают как ее надо делать.

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

Еще раз подчеркну, мне импонирует твое упорство, но глупое упрямство в нежелании учиться – не импонирует.

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

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

// я предвижу что буду послан, но я от чистого сердца, безо всяких

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

ты за год не запилил

За два, вообще-то.

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

Я ему всё то же самое неоднократно расписывал, например, тут и тут.

// А тем временем домен metaprog.org выставлен на продажу. Похоже, @rebforce затянувшаяся шутка надоела.

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

Буквально несколько месяцев, и мечта @metaprog сбудется: он сможет программировать графами!

У меня и без того есть Лабвью и прототип Метапрога. Эта вещь намного примитивнее.

Правда, придётся прикупить Switch.

А как же торренты? Хотя все равно вряд ли понадобится.

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

Правда, придётся прикупить Switch.

А как же торренты?

Вообще то это игровая портативная консоль. Пока торренты не позволяют скачивать материальные вещи.

Эта вещь намного примитивнее.

Зато она позволит делать хотя бы игры. Чего метапрог пока не позволяет. Как там тетрис или змейка, которые ты год назад говорил (да, не обещал, но говорил), что без проблем на метапроге можно запилить?

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

cluge
()

Версия 38

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

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

«А ну делай как я скажу» %)

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

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

И оно более понятно и интуитивно даже для детей

А значит, идеально подойдет для интеллектуальных способностей топикстартера :)

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

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

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

Не хотите учиться - дело-то ваше, сидите дальше считайте всех дураками.

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

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

Да хватит уже эту шарманку крутить. Давно есть Identi-C, который удовлетворяет всем заявленным критериям. Графический. Узлы соединяются линиями. Транслируется в Си. Написан сам на себе.

Можешь догадаться, сколько времени заняла реализация?

i-rinat ★★★★★
()
Ответ на: комментарий от MOPKOBKA

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

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

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

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

Хз причем тут он, но он ужасен, да. Все что там проходят можно самому пройти за месяц, а 99% его вообще забудут через неделю.

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

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

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

Все что там проходят можно самому пройти за месяц

Возможно. Но вот означает ли это, что все действительно будут изучать содержимое курса за месяц?

i-rinat ★★★★★
()
Ответ на: комментарий от MOPKOBKA

А что насчёт тех, кому надо? Они вообще как поймут, что им это надо?

Вот ты понял, что тебе информатика нужна? А ТС понял? Вы бьётесь об стенку, но не пытаетесь изучить что-то ещё, а просто бьётесь сильнее. Всех, кто вам пытается объяснить, посылаете, а от советов отнекиваетесь. Ноете, что никто не помогает вам биться об стену ещё сильнее. Но точно знаете, что все, кто стену обходит, глупцы. И уж конечно не будете обходить стену. Даже идея сделать в стене дверь объявлена пережитком прошлого.

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

А что насчёт тех, кому надо?

А они изучат.

Они вообще как поймут, что им это надо?

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

Вот ты понял, что тебе информатика нужна?

То что в школе было, пришло ко мне с запозданием лет в 5. А это была половина или треть моей жизни, смотря от куда считать. НИЧЕГО нового я там не узнал, ну вот прям совсем.

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

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

Вот @metaprog и @MOPKOBKA занимаются связанным уже больше двух лет.

Вот как захотят - загуглят и изучат.

Но не загуглили и не изучили.

i-rinat ★★★★★
()

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

Например, четыре квадратика, входы и выходы которых замкнуты в кольцо. Что, если прототипу на вход такое скормить, он выдаст сообщение об ошибке или просто зависнет?

Меня вот просто чёрт дёрнул задуматься, как бы я стал генерировать последовательность команд из dataflow-описания (как в Лабвью и метапроге), и мне эта задача в общем случае показалась, мягко говоря, нетривиальной.

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

Не к скриптушникам, успокойся, можешь пропустить это объявление.

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

Всю жизнь метапроги пишешь?

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

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

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

а есть ли в кодогенераторе Метапрог-прототипа защита от заведомо некорректных диаграмм

Да такой вопрос наверно рано еще задавать, учитывая:

Добиться этого удалось, избавившись от множества 2-мерных массивов размером с область отрисовки.

В 38 версии исправлен баг трансляции рекурсий на некоторых схемах.

Он проявился, когда добавилась рекурсия в функции отрисовки графического интерфейса.

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

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

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

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

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

не знаю, как они этот анализ сделали

Наверное, ищут циклы в графе.

i-rinat ★★★★★
()
Ответ на: комментарий от cluge

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

Ну справедливости ради — для подобного не нужен метапрог. Ваш покорный слуга как-то наблюдал, как старенький gcc намертво завис на куске эпичного сипипишного говнокода в 7 тыс строк в одном файле. (Кстати, ExtCalc в итоге так и не понадобился, ибо в целевой системе был обнаружен SpeedCrunch.)

А по теме хотелось бы самого @metaprog услышать.

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

по теме хотелось бы

Ну ты предупредил бы, что ждёшь ответа только от @metaprog. А то я план решения уже разболтал в сообщении выше. Теперь даже если ТС ответит, не будет понятно, придумал он полностью сам или подсказкой воспользовался.

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

а есть ли в кодогенераторе Метапрог-прототипа защита от заведомо некорректных диаграмм, и если есть, то как она работает?

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

Например, четыре квадратика, входы и выходы которых замкнуты в кольцо. Что, если прототипу на вход такое скормить, он выдаст сообщение об ошибке или просто зависнет?

Только что попробовал - просто не генерирует код. Лабвью подобные закольцованные схемы бракует на уровне конструктора. Или же делает дурость - вставляет Feedback Node.

Меня вот просто чёрт дёрнул задуматься, как бы я стал генерировать последовательность команд из dataflow-описания (как в Лабвью и метапроге), и мне эта задача в общем случае показалась, мягко говоря, нетривиальной.

Думаешь над чем я колдую больше двух лет?))

Транслятор надо будет полностью переделывать. Конструктор схем стал быстрым и работает уже на приличной скорости отрисовки, а вот трансляции еще медленные. Связано это с тем, что транслятор хватает хвосты (блоки, у которых нет выходов) и проходится по всем блокам, от которых идут проводки (данные и последовательности) к хвостам. А это адские рекурсии, которые в Лабвью оптимизированы плохо.

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

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

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

Там рекурсивные СУВТ отрисовки элементов интерфейса. Чтобы можно было делать что-то типа «группа в группе в группе виджетов».

metaprog
() автор топика
Ответ на: Версия 39 от metaprog

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

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

Для кого ты эти новости пишешь, еще раз тебя спрашиваю?

из-за новых метапрогеров пришлось вместо этого решить проблему скорости отрисовки

Видимо, чтобы было больше новых метапрогеров :)

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

придумал он полностью сам или подсказкой воспользовался

И почему я был так уверен, что ответ вообще будет и что он будет правильный?

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

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

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

Давай лучше верить в лучшее. Что ТС образумится, начнёт или продолжит образование, но не растеряет по дороге энтузиазм.

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

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

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

Думаешь над чем я колдую больше двух лет?))

Лепишь бесполезные суньвт и будильники.

Транслятор надо будет полностью переделывать.

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

А это адские рекурсии, которые в Лабвью оптимизированы плохо.

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

Где прогресс-то?

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

Твое неприятие визуального программирования я б еще мог понять и простить - профдеформация, что поделаешь. Но не твою подлую стукаческую натуру.

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

Теперь землекопов метапрогеров не полтора, а два?

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