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 + будильник на Метапроге

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

графический парсер один черт парсит текст из полей условного блока

Какой текст? Где текст? У меня все в формате диаграмм на структурах. Текст даже из сишных вставок и вызовов сишных функций не парсится. Только во вставках замена выражений входов и выходов, но вставок сравнительно немного.

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

Вот-вот. А мне парсер уже не нужен.

Вся инфа там тебе 100% подходит лишь с оглядкой на то, что с парсером тебе почти заморачиваться не придется.

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

metaprog ()

В темах про метапрог с марта прошлого года 22886 сообщений (22887 с этим) ¯_(ツ)_/¯

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

Я как-то этот момент пропустил видимо. Признаю мой косяк. Вопрос снимается

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

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

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

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

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

Да успокойся уже, никто не будет разбираться с твоей поделкой. Она никому не нужна.

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

И текстовые ЯП ты вполне мог бы освоить, но для этого нужно приложить кое-какие усилия. А вбил себе в голову, что это не нужно, поскольку ты нашёл серебряную пулю. Кстати, про серебряную пулю ты тоже не читал?

Если это из какой-то книжки - то нет, не читал. И не то чтобы я совсем не писал на текстовых ЯП. Я писал в делфи и сейчас доводится писать в С++ для ардуины - после Лабвью каменный век. И не надо рассказывать про IDE - прикрути ты хоть тысячи плюшек к блокноту, но оставь текстовое представление - это все равно будет блокнот.

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

А вот если подумать - выигрышна ли позиция кающегося грешника? Едва ли.

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

Теория компиляторов - она не про машкоды

А про что?

Да успокойся уже, никто не будет разбираться с твоей поделкой. Она никому не нужна.

Тогда что ты в моих темах забыл?

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

А про что?

Скачай да почитай.

Тогда что ты в моих темах забыл?

Наблюдаю за твоим стендапом.

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

Когда уже следующая тема, хочется увидеть прогресс в разработке!

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

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

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

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

Хорошо хоть ошибки свои умеешь признавать

И тебе советую научится.

Разбирайся в теме Метапрога

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

качай прототип

Зачем мне качать огромный рантайм платной программы LabView, когда есть связка блокнот + компилятор. Блокнот почти ничего не весит, бесплатен и наконец в нем нормальный текст вместо блоков и жгутов.

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

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

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

Задачи пока простые, те, которые по зубам текущей версии прототипа. И то, заметь, сложность-то растет. Было время и факториал собрать на Метапроге было невозможно (не было циклов), теперь уже и будильник с графическими диалогами. Пострараюсь на годовщину первой Метапрог-темы сделать сюрприз для почтенной публики.

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

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

Зачем вообще этот зоопарк из скриптухи

Хоспаде, тебе уже сто раз объясняли. Воистину необучаемый. @hobbit, какие вообще сомнения могут быть?

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

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

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

Зачем мне качать огромный рантайм платной программы LabView, когда есть связка блокнот + компилятор

Не такой уж он и огромный, меньше 300 мб. На самом деле можно взять две инсталяхи из дистрибутива Лабвью суммарным размером раз в 10 меньше и протоитп Метапрога на них будет работать, но если я выложу архив с ними - секта Свидетелей Пресвятого Копирайта завоет.

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

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

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

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

Сейчас пока еще не получается, только пытаюсь подобраться.

Прошел год, лол.

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

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

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

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

Скачай да почитай.

Пролистал. О компиляции текстовых ЯП.

Наблюдаю за твоим стендапом.

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

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

Пролистал

Врешь.

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

И что?

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

Он реально больше 50Mb? они что там наркоманы, что они туда напихали?

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

Си пилили и допиливали 4 года, и то даже не K&R и не C89. Раст пилят далеко не первый год. И это делают профессионалы за тысчяи баксов. Чудо что я даже такую версию прототипа за год сделал, не получая за это тысячи баксов в месяц.

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

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

Видно на сишке все же сложновато делать большие проекты, так ведь?

Для сложных проектов придумали например ООП. Но я не эксперт в сложных проектах.

Не такой уж он и огромный, меньше 300 мб

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

то что ты забыл в моих темах?

Время убиваю. Развлекаюсь. Читаю что умные люди тебе советуют.

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

Необходимый минимум где-то 30 мб. Черт знает, может в тех 300 мб дрова на все возможные железки.

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

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

Зачем тогда приносить это на публику?

Задачи пока простые, те, которые по зубам текущей версии прототипа.

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

И то, заметь, сложность-то растет.

Растёт эта сложность от квадратного уравнения к будильнику, серьёзно?

теперь уже и будильник с графическими диалогами.

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

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

Калькулятор на метапроге? Я очень жду, насущная проблема.

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

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

Видно на сишке все же сложновато делать большие проекты, так ведь? Хотя вот ядро линукса пилят именно на Си…

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

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

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

Потому что в NI сидят идиоты, не доверяющие собственному детищу.

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

Это само Лабвью, рантайм бесплатный (даже для Свидетелей Пресвятого Копирайта) и качается с оф сайта без регистрации и СМС. Качай Метапрог и читай текстовый файл с названием своего языка.

Для сложных проектов придумали например ООП. Но я не эксперт в сложных проектах.

Я прототип Метарпога сделал без ООП, хотя в Лабвью есть ООП с классами.

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

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

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

Я вообще не использую в Метапроге «строковый литерал в кавычках» (или как его там). Так что конкретно этот случай Метапрогу не грозит. Ну разве что какой-то идиот сделает это в сишной вставке, но необходимость в этих вставках обычно не возникает - это либо примитивы типа логики и арифметики, либо какой-то временный костыль.

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

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

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

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

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

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

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

тогда хоть как-то можно будет собрать метапрог и посмотреть на него не со слов ТС и не по догадкам из этих слов.

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

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

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

Потому что в NI сидят идиоты, не доверяющие собственному детищу.

Земля вызывает метапрога, прием! Исходный вопрос хоть прочитай.

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

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

Ну вот и Метапрог о том же.

И самое главное авторы этих языков четко доносят до публики все преимущества своих творении

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

Си же нужно знать для того чтобы решать задачи для которых С хорошо подходит.

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

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

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

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

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

Потому что в NI сидят идиоты, не доверяющие собственному детищу.

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

читай текстовый файл с названием своего языка.

Ты о файле !Русский?

Я прототип Метарпога сделал без ООП, хотя в Лабвью есть ООП с классами.

Это не отрицает того факта что ООП упрощает работу над сложными проектами. Инкапсуляция, полиформизм, наследование и все такое прочее. В любом учебнике по С++ написано как именно это все помогает тебе как программисту.

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

Питон - да. А Си будет в основе, хотя сишные библиотеки, наверное, будем постепенно переделывать на Метапроге.

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

Лабвьюшный кодогенератор не поддерживает даже рекурсию, а там все на рекурсиях. Графичекие интерфейсы и многие другие плюшки тоже не поддерживаются, так что не получится. Можешь хоть сейчас скачать Debian GNU/Linux с торрентов, дальше догадайся сам (за прямые призывы к нарушению прав заокеанских толстосумов на делание бабла из воздуха могут снять скор).

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

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

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

Я прототип Метарпога сделал без ООП,

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

если бы Вы прочитали про ООП Вы бы сэкономили много времени и сил. Аналогичная история будет с другими коцепциями.

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

Ну вот и Метапрог о том же.

Хорошо, дай описание языка, опиши вкратце концепции, какие проблемы он решает(не только для тебя). Чтобы я прочитал описание и мне прям захотелось побежать качать рантайм Labwiev и метапрог. Пока не хочется, я это тебе не назло говорю, просто взгляд со стороны.

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

Ну это кот в мешке. Я например не фанат сюрпризов.

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

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

Перезапускать Лабвью. Его кода у меня все равно нет.

Ты о файле !Русский?

Да, если русский - твоя язык.

Это не отрицает того факта что ООП упрощает работу над сложными проектами

Не факт.

Инкапсуляция

Усложняет. Я в Лабвью смотрел ООПнутые проекты - так там, черт побери, нельзя просто так взять и вытащить элемент из объекта, как из обычного кластера (аналог структуры) и все надо делать через методы. Раздражает жутко.

полиформизм

Можно и без ООП. В Метапроге есть СУВТ и «Многотиповой» тип. СУВТ - для переменной с несколькими возможными типами, определяемыми в рантайме, «многотиповой» - для типов, определяемых при компиляции.

наследование

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

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

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

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

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

Глупость, достойная уровня антиметапрогеров.

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

Перезапускать Лабвью. Его кода у меня все равно нет.

Это плохо. Еще один весомый минус лабвью(для меня определенно).

Инкапсуляция

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

Про полиморфизм и наследование пусть лучше кто-то более компетентный ответит.

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

Тащем та инкапсуляция не требует обязательного использования геттеров/сеттеров и сокрытия полей объекта. Инкапсуляция это сгребание в одну кучку данных и методов для работы с оными.

Обязательные (???) геттеры/сеттеры это заморочки действительно больших проектов, в которых «фиксируются интерфейсы а не структуры данных». Но для ТС это уже лютый матан.

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

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

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

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

Тащем та инкапсуляция не требует обязательного использования геттеров/сеттеров и сокрытия полей объекта.

Так это же вообще прекрасно, хочешь используй, не хочешь твое дело.

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

Инкапсуляция это сгребание в одну кучку данных и методов для работы с оными.

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

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

Вообще то авторы годных учебников и описывают как правило реально полезные в работе инструменты;-)

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

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

Ты думаешь если бы можно было, то наш любитель торентов этого уже давно не сделал?

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

Ну проверять мне это точно лень, но если так это тоже еще тот лулкек :)

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

Ну проверять мне это точно лень, но если так это тоже еще тот лулкек :)

Я гуглил и везде искал, думал может он и кодогенератор «стащил». В итоге по ответам понял, что прямого транслятора в валидный С код там нет. Есть правда какие-то трансляторы для микроконтроллеров и тд.

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

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

То бишь ТС устроил весь этот цирк что бы наскрести на донатах требуемую сумму и потом говорить - «ось яки я маладэц» ?!

Чо то ржу…

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