LINUX.ORG.RU

Метапрог-прототип, версия 5

 , ,


1

2

Следующий релиз

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

Скачать:

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

В архив добавлены скомпилированные ехе: теперь прототип Метапрога и Метапрог онлайн можно запустить без LabVIEW, в том числе под линуксом через Wine (скрин: https://ibb.co/0XTVx6F инструкции: Метапрог-прототип, версия 5 (комментарий)).

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

Из нереализованного - схождение данных из двух и более веток условий. Подробнее:

Метапрог-прототип, версия 4 (комментарий)

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

Запись интерактивной обучалки и создание сишной вставки для стандартной библиотеки Метапрога

https://streamable.com/rgk86

Выход из записи обучалки (под конец, когда происходит ее сохранение на диск) по кнопке Esc.

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

Предыдущий релиз прототипа:

Метапрог-прототип, версия 4



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

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

Так ты мне свой метапрог для линукса дай я его запущу.

Работает под вайном.

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

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

На чистом лабвью без Си вставок? Откуда такая уверенность, есть хоть один компилятор на лабвью?

Я говорю лишь о том, что это возможно. Что-то в этом духе (никогда не открывал ехешник в блокноте?):

https://postimg.cc/87x5NWRb

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

Лабвью может напрямую с памятью работать, указатели есть?

Есть подобие указателей, которое я начал юзать когда плотнее познакомился с Си. Но не совсем то что в Си. http://www.ni.com/product-documentation/9386/en/

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

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

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

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

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

Так качай и пробуй, кто мешает?

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

нужен абсолютно новый подход, новые концепции, новые абстракции

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

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

Думаем делать, скорее всего через готовые функции из gcc/clang. Но это позже.

Ну так собственно и подтверждение.

Это нынешний прототип Метапрога. Но можно и прямо компилировать в машинный код.

Чем компилировать и что? Это получится просто компилятор Си, которому ты будешь стравливать сишный код.

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

Вот тебе простая задача, учитывая твою веру в ВП, ты справишься.

  1. Опиши мне вывод текстовой строки визуально.
  2. Ты не можешь использовать никакой язык программирования.
  3. Опиши как твоё визуальное представление, которое не содержит в себе текстового программирования компилятор будет переводить в машинный код.
shpinog ★★★
()
Ответ на: комментарий от metaprog

Wine поставить на линукс не судьба?

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

Под последним вайном рантайм не устанавливается, дебажить будешь?

Я без рантайма не могу запустить твой недоПрог, понимаешь, он же входим в поставку МетаПрог-прототип ?

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

А там собственно «wine metaprog», который просит у меня рантайм, который внезапно не работает под windows xp. Wine рукается!

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

Но я перешагнул это ради тебя, даже нарушил уголовный кодекс РФ, поменял на win7, и запустил установку рантайма (32 и 64 бита пробовал), а оно падает ! Не устанавливается !

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

Метапрог! Я уже был готов погрузится в мир жгутиков и всевозможного геометрического программирования.

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

Они нас не понимают, каково это писать func(), ты уже привык прочитал 15 страницу украденной с торрента книги по Си, а потом ты видишь в другой книге fn, это уже другое слово - проклятый текст, я его ненавижу.

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

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

Метапрог! Во имя святого параллелепипеда, почему под wine не работает ?

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

Я играюсь с ардуинами. И да, пока не готов Метапрог - вынужден писать на ардуинном диалекте С++. Удовольствие для мазохиста.

Интересно, как ты запоешь, если выкинуть все абстракции из Arduino.h и заставить тебя пердолиться с регистрами и переносимостью прошивок между разными платами.

Я не являюсь шпалоукладчиком по профессии

Ты им являешься по призванию.

Концепция «Си с плюшками» себя оправдывает, спросите у С++ кодеров.

Именно поэтому люди настолько отчаянно изобретают замену C++, причем такую, чтобы уйти от концепции «Си с поюшками». Изобрели Го и Раст, направление мне нравится.

единственно правильное мнение

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

Паровоз сделали без матана. Это потом уже пошло-поехало.

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

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

Наоборот, старые

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

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

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

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

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

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

Лень ему, лол.

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

Интересно, как ты запоешь, если выкинуть все абстракции из Arduino.h и заставить тебя пердолиться с регистрами и переносимостью прошивок между разными платами.

Если их заменить на метапроговские блоки, станет куда удобнее.

Я не являюсь шпалоукладчиком по профессии

Ты им являешься по призванию.

Нет. Тяжелый физический труд не люблю.

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

Ошибаться могут все.

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

Тревитик https://ru.wikipedia.org/wiki/Тревитик,_Ричард брал для этого инегралы и решал дифуравнения?

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

Если их заменить на метапроговские блоки, станет куда удобнее.

Во-первых, это, разумеется, бред. Мы уже видели, что решалка уравнений на диаграммах получилась больше, и писалась дольше, чем на текстовых языках. А во-вторых, если ты заменишь низкоуровневые функции контроллера на блоки, проблемы переносимости и сложности никуда не денутся. А если ты заменишь на блоки объекты из Arduino.h, то получится, что ты просто навернешь свою живопись поверх ненавистного тебе ООП.

Нет. Тяжелый физический труд не люблю.

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

Ошибаться могут все.

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

Тревитик брал для этого инегралы и решал дифуравнения?

Для особо тупых повторяю:

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

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

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

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

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

Да именно инженерная культура и общее понимание механики. По сути высший матан не является обязательным критерием сам по себе. Раньше таких людей называли «естествоиспытатели», правда в последние время это слово я редко слышу.

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

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

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

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

А что ТЫ изобрел?

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

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

Она не писалась вообще. Получилась больше, так как делалась с нуля, без готовых матановых функций. Человеком, успевшим подзабыть матан.

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

А если не считать тех, кто не запускал Лабвью/Метапрог лично?

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

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

Любишь или нет, но если за ум не возьмешься, тебе только и останется, что шпалы таскать.

Глядишь шпалы тягать будут те, кому змеиный яд мешает понимать Метапрог-диаграммы.

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

Смутно помню, как ТС критиковал инкапсуляцию типа «нельзя посмотреть внутрь, нельзя вызывать приватные методы (функции), зачем такие ограничения?». Есть unsafe api (функции, при вызове которых можно легко прострелить себе ногу) и wrappers (обёртки, функции, при вызове которых определённая задача решается быстрее + при их вызове чуть ли не гарантируется, что не прострелишь себе ногу). Сколько же копий сломано на эту тему в растосрачах! Так вот – реальная логика часто реализуется внутри unsafe api, а 95% прикладных программистов вызывают wrappers, которые инкапсулируют unsafe api так, чтобы была «защита от дурака». Однако unsafe api всегда предоставляет бОльшие возможности, необходимые для специфических ТЗ.

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

Я не проверял, но вангую – ВСЕ блоки в лабвью являются обёртками. Иначе бы метапрог падал бы на каждый чих.

Почти все. Но есть исключение - лабвьюшное подобие указателя, которое, судя по всему, оперирует указателями на уровне Си http://www.ni.com/product-documentation/9386/en/ и Лабвью может упасть, если неправильно это дело использовать.

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

Возвращаемся к проблеме «мало выразительности». Её нередко решают инкапсуляцией «многословного апи» во внутренности «лаконичного апи».

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

Более того, абсолютно каждый разработчик любого уровня навыков (включая ТСа) неявно использует различные вариации паттернов

Не исключено. Но читать сферическую теорию в вакууме мне лень (хотя твой комментарий про «фасад» прочитал полностью).

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

Для питона же пишут обёртки над сишными либами ради удобства простых питонистов. Это ограничение подхода ТСа, а не ВП.

Вообще-то я тоже буду делать (и уже делаю) обертки над сишными вызовами.

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

На форумах labwiev пишут, как раз что их трансляторы лепят нечитаемый код, меня всё это наталкивает на определенные мысли.

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

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

Опиши мне вывод текстовой строки визуально.

https://postimg.cc/w1KyfX2c

Ты не можешь использовать никакой язык программирования.

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

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

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

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

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

Для паровозов нужны были мосты. Человечество строило мосты тысячи лет, но когда захотелось строить длинные и прочные мосты пришлось изобретать новый матан. С тех пор в каждом нормальном универе есть МЕХАНИКО-МАТЕМАТИЧЕСКИЙ факультет.

Без матана строили корабли до 1700+/- года, чисто на основе опыта. Но когда захотелось строить корабли побольше, выяснилось что они регулярно переворачиваются или тонут. Строили так значит несколько лет всей Швецией Васу, а она отошла от берега и бульк! Неудобно вышло, сейчас в музее стоит, и это далеко не единичный случай. Потом пришел Андре Дин с ребятами (Кеплером, Эйлером и пр) и сделал матан для кораблей, у него Петр 1 кстати учился.

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

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

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

Это мнение безграмотного шпалоукладчика. Если Вы попытаетесь без расчетов собрать в чан таблетки ядерного топлива, то такой котел или не будет работать или взорвется. Что бы реактор оказался работоспособным нужно решить 100500 уравнений (и не квадратных а посложнее) определяющих расстановку ТВЭЛов, поглотителей, циркуляцию теплоносителя и тд. Любая ошибка в расчетах - и реактор либо не работает либо делает бабах.

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

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

В питоне ФП-шные вставки здорово упрощают и укорачивают код - если они по делу. Что то удобнее делать в ФП, что то императивно…

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

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

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

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

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

Касты упоротых существуют не просто так. Если кто-то нагло врет, передергивает, преувеличивает - зачем он это делает? По приколу? За деньги? А кто деньги платит? С какой целью?

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

Касты упоротых существуют не просто так.

Это уже из области психиатрии.

Если кто-то нагло врет, передергивает, преувеличивает - зачем он это делает?

Спросите у тех упоротых кто это делает, у @insw например? Я не знаю.

Вообще вам бы еще Царя пригласить и @Liz812 - и была полная Дреам Теам! И задача выбрана достойная, прямо сюжет для голливудского фильма…

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

Вообще вам бы еще Царя пригласить

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

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

В описании на русском указана ссылка для скачивания нужной весии рантайма. То что ты не умеешь читать описания - не моя вина.

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

В описании на русском указана ссылка для скачивания нужной весии рантайма. То что ты не умеешь читать описания - не моя вина.

Нахрен мне читать простыню текста? Вот если бы описание было картинкой…

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

А что ТЫ изобрел?

Я не считаю нужным изобретать велосипеды, прекрасно осознаю свои знания в программировании, а поделие вроде твоего мне просто было бы стыдно называть изобретением.
Собственно программирование не моя профессия, тем не менее я за свою жизнь построил и собрал много инженерных систем разного профиля, от систем водоснабжения\отопления до электроснабжения.
Собственно каждый из этих объектов стоит в сотни раз больше, чем когда-либо будет стоить твой МетаПрог.
Каждый из них требует написания проектной документации, и инженерных расчётов.

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

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

а поделие вроде твоего мне просто было бы стыдно называть изобретением

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

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

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

Ну так не мучай людей, кинь код кодогенератора отдельно если это Си, или заскринь свои квадраты.

https://postimg.cc/w1KyfX2c

Нет это не визуально, это под капатом текстовый язык Vi или какой-то G-lang, сам лабвью на си.
Без текстового языка показывай и трасляций, покажи мне визуальный исходный код и опиши схему работы компилятора под этот код.

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

Какое ? jpeg квадрат ? Что из себя будет представлять всё это?

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

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

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

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

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

кинь код кодогенератора отдельно если это Си

Кодогенератор на Лабвью, но самодельный.

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

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

Диаграммы. Блоки, в самых низкоуровневых - опкоды процессора зависимо от целевой платформы.

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