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

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

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

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

Да там же yasm с intel-синтаксисом!

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

Кстати, у них в FAQ есть интересный вопрос:

Q6: Why write an Assembler in C!?

A6: For maintainability, it’s better to use a high-level language in commonly used code, since more people know those high-level languages and will be better able to understand and modify it properly. Also, combined with a C compiler that requires it it’s symbiotically self-compiling.

By writing Yasm in C, we can more easily support cross-assembling any supported output platform on any platform that supports the C we use. We see no reason to constrain ourselves to assembly when assembly is not the best choice for our goals, and here we felt that C was a better choice.

Ибо нет смысла «делать на себе».

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

А с чего б я менял веру, если как раз удалось сделать будильник на Метапроге? Кстати, фунцию, отвечающую за звук, сделал insw. На Метапроге.

Щас готовлю 6 версию прототипа.

metaprog ()

По мотивам только что удалённого обсуждения в теме про VVVVVV…

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

// Всегда Ваш, К.О.

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

Извлёк из удалённых по 7.1 в той теме (предположительно, от царя):

В любом случае вы видите то, что текст говно. Видите, что адепты блокнота поехавшие, но вы сами куда-то поехали не туда.
Текст действительно говно, но вам ненужно оно - вам нужен интерактивный текст. Там графики, репл. https://www.youtube.com/watch?v=Opu8iKkS6lo - что-то такое.

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

Там было место и интересу к проекту. Но ладно, есть тема про 6 версию прототипа.

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

Я не дурак и Wiresharkом ползуюсь. Реч шла про TCPview, а это уже другая вещь.

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

Я не дурак и Wiresharkом ползуюсь. Реч шла про TCPview, а это уже другая вещь.

Вайршарк универсален.

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

То пакеты смотреть, а мне надо список действующих на данный момент соединений и открытых сокетов.

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

То пакеты смотреть, а мне надо список действующих на данный момент соединений и открытых сокетов.

sudo netstat -tulpn

И смотри сколько хочешь.

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

Ну, раз нет гуя для netstat, то это значит, что скорее всего он просто никому не нужен? Особенно на сервере. Если тебе так нужен гуй, то почему бы тебе самому его не сваять на своем метапроге?

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

Ну, раз нет гуя для netstat, то это значит, что скорее всего он просто никому не нужен? Особенно на сервере

Я-то пользую линукс на десктопе. И на десктопную винду графический TCPview давно уже есть. После винды (особенно классической ХР) видно, что в линуксе с хорошими графическими системными утилитами беда. Process Explorer для винды https://ru.wikipedia.org/wiki/Process_Explorer куда лучше диспетчера задач из XFCE (сделанного на Gtk), а многим консольным утититам в 2020 до сих пор нет графической альтернативы.

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

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

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

sudo netstat -tulpn

Вообще-то Ъ-трушней так

sudo ss -tulpn

Это в консоли. А в гуе?

sudo ss -tulpn | grep whatewer

Так проще.

В винде еще на ХР было. А на линуксе?

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

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

А вообще есть же всякое дерьмо типа системных мониторов и прочего в Лине. Нафиг только кому оно упало.

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

Ссылки дай плиз или название дебиановских пакетов.

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

Как вспомню диспечер задач в Венде 10, где процесс убегает куда-то то вниз то в верх – просто полный отстой.

Ну так это дерьмовая десятка, от которой я аж на линукс сбежал. Я же говорю про Process Explorer в XP.

Так проще.

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

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

top/htop позволяют сделать всё, что ты описал и многое другое.

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

Они консольные, а на дворе 2020 год. На винде графическим Process Explorer пользуюсь больше 10 лет, в том числе на виртуалке с Лабвью под линуксом.

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

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

⬆, Enter = повторить.

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

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

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

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

А если вводил давно, то придется переписывать полностью.

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

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

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

А если вводил давно, то придется переписывать полностью.

history | grep whatever

А точнее

hi[tab] | grep whatewer
kostyarin_ ★★ ()
Ответ на: комментарий от metaprog

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

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

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

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

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

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

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

На ресурсе, где почти все привыкли трахаться с текстом в консоли и блокноте/vim - да. Но не на всей планете Земля.

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

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

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

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

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

На ресурсе, где почти все привыкли трахаться с текстом в консоли и блокноте/vim - да. Но не на всей планете Земля.

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

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

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

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

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

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

Там проблемы с закрытостью и ценами на лицензии, рантайм толстый и много ограничений.

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

Это да:)

обучению базовым навыкам алгоритмистики (т.к. картиночки скорее всего нагляднее

Тоже да.

как только она становится большой это месиво аструктурное практические нечитаемо

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

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

Я все храню в бинарях и внутренние протоколы тоже бинарные.

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

Зачем вы постоянно в этом треде оскорбляете шпалоукладчиков сравнивая их с ТСом((

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

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

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

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

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

от того что вы разнесете блоки «по линеечке» меньше месивом это не станет и структуры это не придаст

Все несложно будет понять по проводкам и блокам.

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

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

Ну нет «сложного» ПО написанного на лабвью

Один из образцов сравнительно сложного ПО на Лабвью можно скачать в шапке темы с лабвьюшными исходниками.

сами делатели лабвью на лабвью его не переписали, а продолжают на С++ писать

На самом деле, Лабвью таки частично сделано само на себе, а именно высокоуровневый функционал. Ядро Лабвью на плюсах, так как начинали с плюсов, и копирасты не желают на корню переделывать продукт, который и так приносит им бабло. Проще содержать С++ кодеров.

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

версия 5

будильник

Так себе достижение. CRUD-приложуху можно нарисовать?

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

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

CRUD-приложуху

К сожалению, я не знаю что это. Можешь расписать коротко и простыми словами?

Вообще, как-то не очень обезьян-френдли, в блоках простыни текста

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

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

Можешь показать что это за LD?

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

Можешь расписать коротко и простыми словами?

Писать записи в базу, выводить их на экран, редактировать/удалять записи в базе. Типа как бизнес-софт для учёта чего-нибудь. Как MS Access, только лучше.

что это за LD?

https://ru.wikipedia.org/wiki/Ladder_Diagram

Визуализировать логику ПЛК конечно проще, они часто работают с отдельными разрядами числа, один бит — один «провод».

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

Писать записи в базу, выводить их на экран, редактировать/удалять записи в базе. Типа как бизнес-софт для учёта чего-нибудь. Как MS Access, только лучше.

Работа с SQL? Насколько я понимаю, это надо строить поверх фич стандартной библиотеки типа TCP/IP и работы со строками. Сейчас стандартная библиотека Метапрога находится в разработке. Когда она будет достаточной, чтобы выйти из стадии прототипа (сделать Метапрог «сам на себе»), реализовать на нем функционал для работы с базами данных будет уже несложно.

Ladder Diagram

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

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

Какого цвета проводки собственных типов?

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

А как отличается по цвету массив чаров и массив флоатов например? Ведь по сути тут совершенно разная семантика данных?

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

Вангую что там градиент, это было бы логично :)

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

А почему бы не запилить подписи типов? Или я должен учить легенду? А что со своими типами?

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

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

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

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

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