LINUX.ORG.RU

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

 , , ,


1

3

FAQ

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

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

10. Примеры выдают варнинги при компиляции (у кое-кого еще и сегфолтятся)

Решено вводом неанонимных структур, если идет обращение к данным из сишных инклюдов.

12. Зачем ты пытаешься сделать «графический C» (используя подходы к разработке, структуры данных и прочее из C, но в виде блоксхем)?

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

13. Есть же first order logic, лямбда исчисление и т.д. Ты бы изучил для начала альтернативы, может для данного вида представления имеются лучшие подходы?

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

Примеры

Предыдущие см. в прошлых темах

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

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

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

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

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

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

Неанонимные структуры

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

Главная функция:

https://i.postimg.cc/8kJdT96h/image.png

Открытие нового окна:

https://postimg.cc/kBX6rB0P

Та же диаграмма в видео:

https://streamable.com/jqng1

Видно всплывающие подсказки, в конце удаляется и снова проводится один из проводков.

Начало рисования SDL, то что должно делаться каждый цикл в нуклеаре:

https://postimg.cc/tYS199bZ

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

Кстати, что мешает мне сейчас сделать главный нуклеаровский цикл, ведь циклы ж уже готовы? Смотрите на этот скрин:

https://i.postimg.cc/65N2KMQz/image.png

Почти такой же пример, только есть цикл и нету sleep (чтобы можно было полюболваться на окошко 10 секунд). Что тут не так? Схема правильная, но надо еще научить транслятор ставить «тупиковые» ветки, берущие начало в цикле, в пределах цикла по-умолчанию. Сейчас код nk_end и малювання SDL оказываются за пределами тела цикла, буду это исправлять. Где-то там же находится ключ к полному налаживанию ветвления через if и switch.

Сам код:

https://pastebin.com/f5PDfi77

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



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

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

Почему исчерпаны?

Потому что это видно из поста илюхи:

с текстовыми ЯП щас извращаются и пытаются выпендриться хотя всё уже давно изобретено что реально удобно в использовании (ситуация аналогичная извращениям в сфере десктопа win xp -> win 10 и gnome 2 -> говноgnome 3).

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

в принципе в точке назначения можно воспользоваться парашютом

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

я не знаю что за цесна, не эксперт в авиации. знаю есть вот такие штуки https://ru.wikipedia.org/wiki/Автожир себе бы купил с удовольствием, по цене вроде значительно дешевле других летательных аппаратов

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

я не знаю что за цесна

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

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

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

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

Потому что это видно из поста илюхи

Это тоже только его мнение, а не доказательство. Своих аргументов у тебя нет?

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

Речь об удобстве использования, а это уже мое (или Илюхи) мнение, основанное на личном опыте. Я считаю текстовое программирование неудобным, а графическое удобным, основываясь на собственном опыте.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

лётная школа кстати стоит вроде 800 тыщ рашинских денег.

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

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

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

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

Графическое программирование. Не писать код ручками в тексте, а мышью собирать диаграмми. Чем тебе не не идея?

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

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

Ты по-прежнему конечный автомат.

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

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

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

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

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

Рассказывал, но ты читать не умеешь

Ты, утупок, рассказывал о минусах лабвью (и не в состоянии привести ни одного минуса MyOpenLab, кроме того, что язык не по феншую). Ни один из минусов лабвью не относится непосредственно к идее графического программирования.

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

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

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

Вот именно. А минусов у идеи графического программирования как таковой я не вижу. Вообще.

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

Вообще

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

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

Именно поэтому в современном мире и существует столько парадигм.

И почти все они относятся к текстовому программированию.

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

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

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

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

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

Ути какие мы нежные. Тебя же первого за посылания твои к стенке и приставят. И за спам заодно.

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

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

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

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

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

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

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

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

Нет, не ответил. И не не видел - все ты видел, просто проигнорировал, как и все прямые вопросы.

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

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

Расскажи-ка кто и как предепринимал попытки сделать графическую среду программирования. Ничего лучше Лабвью за 7 тем мне не показали.

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

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

:)

Вот да, где точно человеконечитаемый код на выходе...

anymouze ★★
()

Мне не понять этого программиста.
Жаль его.
Ассоциация такая же как при просмотре

https://www.youtube.com/watch?v=bbZhKw7nIFw Невезучие. Невезучий и невезучая

Владимир

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

ходишь по кругу, прячешься и распускаешь демагогию.

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

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

Мотодельтапланы таки дешевле и компактнее (на OLX от $1300 до $6000 найти реально), но на них вроде тоже разрешение нужно.

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

как это похоже на «моя цель не учиться а писать софт»

Не похоже. ЯП существуют для решения определённых задач. Если они оказываются неспособны помогать их решать, то они либо переходят в класс эзотерических (Brainfuck, Befunge-93, Unlambda, Thue, Underload), либо вымирают естественным путём (ALGOL, COBOL, Fortran). Кстати, первые версии алгола с лиспом были разработаны примерно в одно и то же время, но почему от одного остались лишь воспоминания, а другой и теперь живее всех живых? Подумай над этим. А реализация давно уже запиленных библиотечных примитивов — это пустая трата времени.

конкретно с твоего примера суть языка не раскрыта

Конкретно в моём примере достаточно чистого ES6, да. Суть ClojureScript в том, чтобы использовать все преимущества лиспа, не теряя интероперабельности с JS-рантаймом. Но на хеллоуворлдах, как я уже говорил, эти преимущества не так заметны, а более сложные примеры аффтару для понимания всё равно недоступны.

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

Но справедливости ради, ClojureScript — не лучший выбор для интерактивности в консоли. Для сравнения, вот на реде:

Red [Title: "Metaprog is a n00b"]
print reverse ask "? "

Фсё!

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

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

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

текстовыми ЯП щас извращаются и пытаются выпендриться хотя всё уже давно изобретено что реально удобно в использовании

Вот только удобства размазаны по разным ЯП.

Я сейчас пишу на крестах, мне там не хватает модульности и нормальной _стандартной_ системы сборки. Нормальной, а не cmake и тем более не её предшественников. Ну и в STL те же строки далеки от совершенства, кутешный QString до сих пор куда удобнее.

Посматривал в сторону раста, но там, как я понял, нельзя строить иерархии классов, ООП довольно куцее. Впрочем, надо будет посмотреть ещё.

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

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

Языки с жирным рантаймом - Java и C# - тоже не слишком вдохновляют. Хотя да, сделали же когда-то Java ME, и я даже на ней текстовый редактор на телефоне пускал, но это какая-то особая Java была, да и закопали эту ME, к сожалению.

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

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

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

liksys ★★★★
()
Последнее исправление: liksys (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.