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)

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

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

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

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

Тут главное получить работающий прототип

Это если не уверен в результате, и нужно для начала попробовать, как оно. А если прям «я вижу цель, я знаю ориентир», то этот прототип потом на выброс только.

Тем более, в случае ТС’а Питон, Си++ и Qt тоже надо учить. И ещё Си, потому что знает он только Лабвью. Получается, что для быстрого прототипирования на питоне нужно сначала выучить Питон. А Си так и так придётся учить, потому что он чуть ли не заявлен в задаче.

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

Единственная существующая визуальная

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

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

А Си так и так придётся учить, потому что он чуть ли не заявлен в задаче.

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

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

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

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

позволит мне и присоединившимся к проекту сделать «настоящий» Метапрог

Оптимизм.

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

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

Через десять страниц всего-лишь появляется ограничение на скор — не меньше 100. И ТС всё ещё сможет писать, потому что для ТС’ов в темах введено исключение.

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

После выпуска прототипа Метапрога создам новую тему.

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

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

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

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

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

Что тут непонятного?

Да всё тут понятно уже давно, начиная с первой темы.

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

Есть книжка одна, называется Code Complete. Делит читателей на две категории. Одни говорят, мол, да это же очевидно, зачем ещё и книгу об этом писать. Вторые говорят, да бред какой-то, зачем это всё нужно, нам и так нормально. Со временем, люди из второй категории получают больше опыта, и как-то незаметно для себя мигрируют в первую.

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

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

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

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

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

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

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

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

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

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

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

Шел бы ты уже сараи чистить, толку больше было бы.

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

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

Инкапсуляция связывает руки. Это плохо! Лично с этим сталкивался, имел чуточку дело с плюсовым кодом. А как разработчику мне, видите ли, не просто типы из структур ваять, а еще и апи заранее продумывать! Это и есть преимущества ООП?!

http://harmful.cat-v.org/software/c /linus

C++ leads to really really bad design choices. You invariably start using 
the "nice" library features of the language like STL and Boost and other 
total and utter crap, that may "help" you program, but causes:

 - infinite amounts of pain when they don't work (and anybody who tells me 
   that STL and especially Boost are stable and portable is just so full 
   of BS that it's not even funny)

 - inefficient abstracted programming models where two years down the road 
   you notice that some abstraction wasn't very efficient, but now all 
   your code depends on all the nice object models around it, and you 
   cannot fix it without rewriting your app.

In other words, the only way to do good, efficient, and system-level and 
portable C++ ends up to limit yourself to all the things that are 
basically available in C

http://harmful.cat-v.org/software/OO_programming/why_oo_sucks

The global state of the system is carried into all functions and comes out from all functions...

The “hide the state from the programmer” option chosen by OOPLs is the worse possible choice. Instead of revealing the state and trying to find ways to minimise the nuisance of state, they hide it away.

Так все же, зачем вообще приватные поля и методы классов? Зачем инкапсуляция?

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

ты должен обладать неким авторитетом, а у тебя его нет

Кто мне это пишет? Ах да, в жопу я тебя уже послал.

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

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

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

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

С питоном было бы быстрее.

«Графический Брейнфак» сделать а-ля Ринат и на Лабвью просто. Проблема лишь в том, что задача - не брейнфак по приколу наваять, а полноценную среду разработки.

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

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

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

Полосы вообще не лучший образец ООП, если уж на то пошло.

А что лучше? Джава? Там вроде все объект. И, кстати, джава - тот еще рвотный порошок.

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

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

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

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

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

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


¹ надеюсь

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

Питон можно освоить за месяц, чтобы более-менее свободно на нем писать. Все равно получилось бы быстрее.

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

Ну так сделай

Чтобы ты потом украл исходники, как украл лабвью?

Я Лабвью знаю, этого мало что ли?

Конечно.

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

Ничего не знаю, мне Лабвью хватает. Точнее даже не всего Лабвью - ООП там есть, но я его не использую.

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

А чего не хватает в Лабвью - вкручу в Метапрог.

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

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

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

Можно, конечно. Можно и за пару дней. Но мы же о ТС’е говорим. У него органическая неприязнь к текстовым языкам. Но с Си он готов мириться, потому это Си, божественное откровение. Даже божественный Линус любит Си, плохо отзываясь о Си++, в котором ООП всё портит.

А, стоп. Ядро же битком набито ООП, хоть и на Си. Лол.

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

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

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

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

я и без них могу разрабатывать

Не очень-то заметно, знаешь ли.

Докажи, что умеешь: реализуй Showtime Komputeishon на Лабвью и Метапроге.

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