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)

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

Нету мыши - сходи купи.

Самая первая цитата лонквотесов

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

http://lorquotes.ru/quotes-autor.php?id=1

Колесо сансары дало новый виток.

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

Таких как ты меньшинство. Цитата 2003 года:

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

http://lorquotes.ru/view.php

Вот и сидит на Линуксе 1-2% десктопных юзеров. Хотя с гуем в Линуксе в последние годы стало лучше, без консоли полностью админить его еще нереально. В плане гуя классическая винда (ХР, 7) пока что на голову выше Линукса.

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

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

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

Я за бан анонимусов. После 20 страницы он случится автоматически. Побольше флудите - быстрее исчезнете из темы.

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

Как думаешь, нужно ли учиться, чтобы делать софт? Или это навык, приобретаемый с рождения?

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

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

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

И типа после 20 страниц ты перестанешь быть клованом, который ничего не умеет и не может?

anonymous
()
Ответ на: Обновлённый список факторов риска, v3 от hobbit

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

Уже показало, не?

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

Учиться на практике, делая руками. Как в Лабвью.

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

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

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

эээ. Ты в гений аффтара чтоль не веришь? тут же Линус Торвальдс, как минимум, по уровню. Он же ВЕБ-СЕРВЕР нарисовал!!11111 тынипанимаешь!!1111

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

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

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

Да, я веб-сервер на Лабвью делал. А ты? Слабо поставить Лабвью и сделать на нем веб-сервер? После чего сделать Метапрог.

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

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

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

я имел ввиду сам metaprog сделаю за недельку. веб сервер который ты там натыкал вообще за день будет готов.

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

и что, какая нибудь цыганка тоже самое скажет о медицине

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

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

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

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

Сравнил болт с пальцем. В медицине без знания анатомии, биохимии итп никуда, а в программировании что надо знать такого чтобы программировать? Только базовые понятия типа ветвления, циклов, функций, типов и отличать оперативную память от жесткого диска. Ну и плюс баовые принципы протоколов типа TCP/IP и детали, с которыми имеешь дело. Что кроме упомянутого мной нужно знать, чтобы кодить, если среда графическая и изучения синтаксиса не требует?

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

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

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

Это уже Артурианец делает. А как насчет сделать Метапрог на Лабвью или MyOpenLab? Заодно поймешь все прелести визуального программирования.

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

Автор из очень редкой разновидности троллей

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

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

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

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

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

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

Иди в жопу.

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

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

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

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

А как насчет сделать Метапрог на Лабвью или MyOpenLab?

А как насчет построить дом из макарон? А? слабо?

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

Запомните этот день, господа

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

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

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

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

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

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

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

Я, кстати, использую при программировании в Лабвью одну руку для клавиатуры

Понятное дело. Вторая рука тебе нужна, чтобы скучно не стало.

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

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

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

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

Я допускаю, что тебя в твоем заборостроительном не научили пользоваться ООП и ФП. Можно только посочувствовать.

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

Зато я точно знаю, что «высокоуровневые» ООПнутые языки создают проблем больше, чем решают

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

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

парадигма ООП - говно

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

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

Посмотрим что ты через год заговоришь

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

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

С таким же успехом можно накидать ссылки на описание преимуществ ООП. Заметь, это всё писали люди с опытом и образованием. Чтобы решить, подходит ли для твоих задач та или иная парадигма, нужно иметь опыт и знание, а также хоть раз её попробовать использовать в своих проектах. Ну или признаться, что не хочешь даже пытаться осилить. Не потому что парадигма говно.

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