LINUX.ORG.RU

Metaprog: универсальная графическая среда программирования [LabVIEW-прототип] часть 9

 , , ,


0

3

Интерактивная обучалка

https://streamable.com/dnhoy

Интерактивная инструкция по сборке факториала

https://streamable.com/h8dto

Меню из функций

Наконец допилил меню из функций. Программирование на Метапроге будет выглядеть примерно так:

https://streamable.com/xlprt

Кроме меню, давние читатели заметят сделанное по многочисленным просьбам увеличение размера шрифта на элементах блок-диагарммы и подсказках с 10 до 12.

Сама функция, считающая факториал, выглядит так:

https://i.postimg.cc/ZRzpHhnv/image.png

Полученный код корректно считает факториал 11 (10+1, как на схеме):

https://pastebin.com/pdbhKcey

Переключатель (он же switch)

https://streamable.com/vgn3w

https://pastebin.com/tuB9X00u

Чат-клиент

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

Версия 1.

http://e2tilsgo5s44hqmlwb4epwrjnh7ynvsckj2tl5duwdqbxg67chqpelad.onion/file/de...

Требования

1. Windows начиная с ХР с кириллической локализацией (иначе будут проблемы с кодировкой символов).

2. Для запуска скомпилированного ехе-файла бесплатный рантайм (32-битный):

https://download.ni.com/support/softlib/labview/labview_runtime/2013 SP1/Wind...

3. Для просмотра и редактирования диаграмм с кодом чат-клиента - LabVIEW начиная с 2013. Как кто его достанет - личное дело каждого, если жалко денег - на торрентах оно есть.

4. Tor Browser или Tor для подключения к серверу:

https://www.torproject.org/

Сам чат-клиент лицензирован под GNU GPL v3, подробности - по кнопке «Про программу».

FAQ

0. Где отсутствующие примеры и пункты FAQ? Как вообще читать эти темы?

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

11. Как выглядит факториал в графическом представлении?

https://i.postimg.cc/ZRzpHhnv/image.png (уже на Метапроге, а не Лабвью).

Прошлые темы:

Metaprog: универсальная графическая среда программирования [в разработке]

Metaprog: универсальная графическая среда программирования [в разработке] часть 2

Metaprog: универсальная графическая среда программирования [в разработке] часть 3

Metaprog: универсальная графическая среда программирования [в разработке] часть 4

Metaprog: универсальная графическая среда программирования [в разработке] часть 5

Metaprog: универсальная графическая среда программирования [в разработке] часть 6

Metaprog: универсальная графическая среда программирования [в разработке] часть 7

Metaprog: универсальная графическая среда программирования [в разработке] часть 8



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

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

Связать их листом Мёбиуса или там бутылкой Клейна… :)

Упомяни еще неевклидову геометрию Лобачевского. 3-мерное программирование (и программирование из виртуальной реальности) еще впереди, пока что надо хотя бы 2-мерное наладить.

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

Скачать и поставить лабвью на винду на виртуалке - элементарщина.

Сходить пожрать из мусорного бака, а потом посрать в лифте – тоже элементарщина. Но большинство почему-то брезгует. Интересно, почему?

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

3-мерное программирование (и программирование из виртуальной реальности) еще впереди

Идею дарю, мне не жалко.

Кстати! В виртуальной реальности Second Life можно писать скрипты, модифицирующие эту реальность. И редактор скриптов прямо в виртуальном мире открывается. Но... почему-то на текстовом языке.

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

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

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

А надо чтобы собирать из кубиков. Правда я пока что слабовато это представляю, не играл еще в VR-игрушки. Может сборка схем в Метапрог3D/МетапрогVR будет что-то типа макетирования в электронике.

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

Кстати! В виртуальной реальности Second Life можно писать скрипты, модифицирующие эту реальность. И редактор скриптов прямо в виртуальном мире открывается. Но... почему-то на текстовом языке.

эх, опять кто-то стянул мою подростковую идею ) круть

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

Из кубиков (и не только кубиков, можно даже модели грузить) там статика собирается, сами объекты виртуального мира. Всё визуально. А вот чтобы этим объектам задать какое-то поведение — уже скрипты.

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

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

http://opensimulator.org/

https://www.osgrid.org/

В обоих случаях нужна клиентская программа, для Linux есть.

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

Ради разработки первой универсальной графической среды программирования можно сделать и исключение

ну ради ТАКОГО можно и почку продать, чтоб было что задонатить тебе.

скромнее нужно быть, ну ты же позоришься

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

Нету VR-очков, а что такое просто 3D-игры я и так знаю. Кстати, есть всякие транспортные стратегии, там тоже по сути собираешь многоуровневые схемы. Короче, когда разработаю Метапрог - можно будет пробовать 3D//VR.

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

Это не совсем игра, это, скорее, платформа для создания миров. Сюжета, как в какой-нибудь MMORPG, там нет. Кому охота поиграть — рисуют декорации и создают правила сами. Кому охота общаться — общаются. Кому охота строить — строят. Кому охота глазеть на построенное другими — глазеют.

Приходящие в SecondLife/OpenSim именно поиграть через некоторое время начинают спрашивать «Ну и как в это играть»?

Майнкрафт и то больше игра, чем это — там хоть зомби водятся. :)

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

Да, графика реалистичнее. И сложнее. Тут недостаточно киркой махать, тут для всего разные инструменты.

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

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

Скачать и поставить лабвью на винду на виртуалке - элементарщина.

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

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

Майнкрафт и то больше игра, чем это — там хоть зомби водятся. :)

А еще там водятся редстоуны и компараторы. Хороший пример визуального программирования: https://www.youtube.com/watch?time_continue=717&v=wgJfVRhotlQ

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

Нет. Это goto + «сохранение текущей позиции», что бы после return можно было вернуться к месту call.

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

Исключение - это ошибка выполнения, логики, а не языка.

Очевидно что питон довольно таки убог.

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

Майнкрафт - это брейнфак от программирования в 3-мерной реальности. Ты ж не будешь судить о текстовом программировании по брейнфаку?

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

Хотя по сложности та схема наверняка не уступает ЭВМ образца 40-50х годов.

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

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

Мне тоже не по нраву интерфейс метапрога. Имхо, метапрогу по части ui до удобной среды как notepad++ до visual studio. Есть идеи как исправить, добавить хоткеи и базовый рефакторинг и автокомплит. Но опять же, не знаю когда смогу.

Интересно, почему у многих так зачесалось (игра слов, не оскорбление) показать «как нужно разрабатывать визуальную среду»?

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

Ха-ха, набери-ка программу посложнее.

Что, слишком просто выглядит? Для сравнения с твоим факториалом нужно обязательно брать что-то намного сложнее. Мол, иначе сравнение нечестное?

Факториал вывел сам, но путем экспериментов. Если не знають заранее, что надо функции «+1» и умножения - то умрешь пока будешь трахатсья с питоном.

Определение факториала есть в школьной математике. Чего ты там выводил? o_O

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

Рабочее решение поставленных задач.

Никто тебе тут его не собирается давать

Ага, всё, явное подтверждение получено.

В job.

Чтобы ты аргументировал свою позицию в споре, нужно тебе ещё денег давать? Бредовенько.

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

Черт, только что заметил - у тебя факториал рекурсией! И ты еще претендуешь на то, что твой пример лучше? Циклом давай!

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

Дык еще твой факториал и быстрее питонячего.

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

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

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

Циклом давай!

Это потому, что ты рекурсию не можешь использовать?

Ну, тогда, например, вот так: reduce(operator.mul, range(1, 9 + 1))

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

Конечно. Он проще, понятнее, компактнее, быстрее в создании, быстрее в чтении.

А, да. Ещё я могу туда параметром хоть 9000 вставить, и получить необрезанный результат, потому что целые там безразмерные.

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

Это потому, что ты рекурсию не можешь использовать?

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

Metaprog: универсальная графическая среда программирования [в разработке] часть 3 (комментарий)

если дятел написал факториал рекурсивно - то спасти может только эвтаназия

Видео показывай за сколько факториал циклом наберешь.

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

Проблема в том, что даже брейнфак сам по себе уже стройнее и понятнее твоей живописи. Сама по себе идея трёхбитного рантайма, особенно если заменить инструкции для бесполезного, в общем-то, stdin/stdout на портовый ввод/вывод, заслуживает всяческой похвалы. И даже готовые bf-процессоры уже имеются, в том числе и с формальной verilog-спецификацией.

Кстати, не будь ты тобой, тоже смог бы на своём лабвью наваять нечто подобное.

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

Найс рофлишь, ты еще скажи что HQ9+ лучше метапрога.

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

В моем примере нет сравнения и рекурсии.

Потому что ты не можешь?

Покажи за сколько секунд наваяешь такое на питоне.

Если прям явно цикл записывать, то около 13 секунд.

s = 1
for i in range(9):
  s *= i + 1
print(s)
i-rinat ★★★★★
()
Ответ на: комментарий от metaprog

Видео показывай за сколько факториал циклом наберешь.

Ты совсем поехавший? Посчитай число буковок в простеньком примере и оцени, за сколько их можно набрать. Пример настолько примитивный, что там почти что думать не надо, практически на автомате всё.

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

Видео мы не увидим?

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

https://streamable.com/ar25k

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

Streamable съел последний кадр, где видно результат. Тебе прям обязательно его лицезреть? Ну вот он: https://streamable.com/5f8lj. Даже 12 секунд, а не 13, как я раньше написал.

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

Хотя… Моно? Не нуно.

У меня тоже от этого факта сначала подгорело. Потом, правда, у меня opensim завёлся на довольно-таки бюджетной VDSке. FreeBSD, кстати. Точно уже не помню, но по-моему, моно накатывал из портов. :)

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

Написанный сам на себе метапрог не появится никогда, и последние треды это только подтверждают

Хахаха. А твой «антиметапрог» на реде? Что, ред уже забылся?

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