LINUX.ORG.RU

Метапрог-прототип, версия 7 + графические диалоги на Метапроге

 , ,


0

3

Скачать (перед запуском читайте !Русский.txt или !Українська.txt):

https://www71.zippyshare.com/v/dNcHIgzD/file.html

Новая версия принесла несколько новых фич интерфейса пользователя. Добавлено выделение прямоугольником для вырезания и копирования части диаграммы (в прошлой версии было только копирование и вставка одного блока по щелчку колесом мыши). После копирования куска диаграммы (с проводками с данными и жесткими последовательностями) его можно вставить кликом колесом мыши на пустом месте диаграммы. Есть план реализовать в будущий версиях также создание подфункций из выделенного куска - аналог Create SubVI из LabVIEW (так была сделана немалая часть функций в прототипе Метапрога).

Однако самая интересная фича новой версии - сериализация в base64 координат блока на диаграмме с цепочкой функций. Этому есть как минимум два возможных применения. Можно «ткнуть пальцем» на нужный блок (меню блоки - ткнуть пальцем на блок). Будет сгенерирована строка такого вида:

metaprog_debug:AAAAAAAAAAAAAAAHAAAAAFBUSDAAAAAEAAAAAAAAAAAAAAAAAAAAAwAAAAdNUEwgMi4wAAAAB0xJQ0VOU0UAAAAU4fPk6Ov87ejqIO3gIOfg7+jy4PUAAAAK0+rw4L/t8fzq4AAAABXh8+To6/zt6Oog7eAg5+Dv8O7x4PUAAAAH0PPx8ero6VBUSDEAAAAxcmVsIAAr0LHRg9C00LjQu9GM0L3QuNC6INC90LAg0LfQsNC/0LjRgtCw0YUubXBiZBNiCtNfkRABAAAAAwAAAAdNUEwgMi4wAAAAB0xJQ0VOU0UAAAAT9rPr7vfo8evu4ujpIOSz4Ovu4wAAAArT6vDgv+3x/OrgAAAAFPbl6+736PHr5e3t++kg5Ojg6+7jAAAAB9Dz8fHq6OlQVEgxAAAANXJlbCAAA25rYwAq0YbRltC70L7Rh9C40YHQu9C+0LLQuNC5INC00ZbQsNC70L7Qsy5tcGJkP/rfBI32qgEAAAADAAAAB01QTCAyLjAAAAAHTElDRU5TRQAAABDy5erx8u7i6Okg5LPg6+7jAAAACtPq8OC/7fH86uAAAAAQ8uXq8fLu4vvpIOTo4Ovu4wAAAAfQ8/Hx6ujpUFRIMQAAAC9yZWwgAANua2MAJNGC0LXQutGB0YLQvtCy0LjQuSDQtNGW0LDQu9C+0LMubXBiZFbEp7cIT2gBAAAAAwAAAAdNUEwgMi4wAAAAB0xJQ0VOU0UAAAAV5+Dv8/HqIOKz6u3gIE51a2xlYXIrAAAACtPq8OC/7fH86uAAAAAU5+Dv8/HqIO7q7eAgTnVrbGVhcisAAAAH0PPx8ero6VBUSDAAAAAWAAEAAgNua2MNbmtjIGluaXQubXBiZFQc/+kgVZgBAAAAAwAAAAdNUEwgMi4wAAAAB0xJQ0VOU0UAAAAO+PDo9PIg7fPq6+Xg8CsAAAAK0+rw4L/t8fzq4AAAAA748Oj08iDt8+rr5eDwKwAAAAfQ8/Hx6ujpUFRIMQAAADpyZWwgAANua2MAL9GW0L3RltGG0ZbQsNC70ZbQt9Cw0YbRltGPINC90YPQutC70LXQsNGAKy5tcGJkaxMcpv873AEAAAAAUFRIMAAAAAQAAAAAdcftGC2ZsAE=:metaprog_debug

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

Вместо тысячи слов:

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

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

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

https://postimg.cc/hQVLBcHp

Дебаг-строку выводит оранжевый блок.

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

Для компиляции надо скачать https://sourceforge.net/projects/tinyfiledialogs/

Распаковать в папке с Си-файлом так, чтобы работал соответствующий инклюд.

Код:

https://pastebin.com/5NW30tQx

Введя нужное число, закрываете окошко. После ввода часа и минуты в консоль будет выведено время срабатывания. Теперь будильником можно пользоваться и для повседневных нужд (звук пронзительный, хорошо слышный, sound.wav больше не нужен), однако завершать его работу надо еще через диспетчер задач или Ctrl+C в консоли, когда не идет звук. Также нет проверки введенных чисел, если введете не то число - будильник никогда не сработает.

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

Предыдущая версия:

Метапрог-прототип, версия 6 + будильник на Метапроге



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

Да-да, на метапроге программа была бы идеальной.

Потому что идеальная программа это та, которой нет.

i-rinat ★★★★★
()

ТС, я тут вот ради прикола скачал и запустил в своём Debian Oldstable неоднократно тут упоминавшуюся MyOpenLab. Такое ощущение, что автор во многом твой единомышленник. Есть, например:

  • многоязычность — для каждого элемента можно задать названия на разных языках, справа от рабочего поля есть какая-то могучая переключалка, явно связанная с языками;
  • свои бинарные форматы данных (файлы диаграмм vlogic). Правда, вот с документацией автор решил не издеваться над людьми и сделать её в общепонятных PDFах.

В общем, подозреваю, что если бы тебе твоя религия не запретила чуток поизучать «Java-археологию» (в том объёме, который потребовался бы для написания к MyOpenLab всяких дополнений, глядя на имеющийся код), MyOpenLab вполне могла бы стать системой твоей мечты.

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

ТС, я тут вот ради прикола скачал и запустил в своём Debian Oldstable неоднократно тут упоминавшуюся MyOpenLab

У меня она на виртуалке с ХР, на линуксе не пошла из-за джава эксепшонов. Версия 3.11.0.

Такое ощущение, что автор во многом твой единомышленник

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

многоязычность — для каждого элемента можно задать названия на разных языках, справа от рабочего поля есть какая-то могучая переключалка, явно связанная с языками;

Спасибо за наводку, я ткнул испанский - и там действительно есть справка по некоторым элементам (на аглицком видел только всякие THIS IS A HTML HELP FOR THE «SUBVM.VLOGIC»).

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

Неплохо, но версионировние есть?)) Дай ссылку плиз.

В общем, подозреваю, что если бы тебе твоя религия не запретила чуток поизучать «Java-археологию» (в том объёме, который потребовался бы для написания к MyOpenLab всяких дополнений, глядя на имеющийся код), MyOpenLab вполне могла бы стать системой твоей мечты.

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

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

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

Какая ошибка? Нет перепроверки значений в случае совпадения хешей?

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

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

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

Очень редко. Обычно куда проще собрать схемку и протестировать блок методом тыка.

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

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

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

На сколько я помню оно некорректно работало по краевым условиям

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

Да, я знаю, что там парочка формул, но гуглить и тупо вводить их мне было неинтересно. Загуглить почти любая обезьяна может, а вот поупражняться в численных методах на Лабвью уже не каждому дано:)

Anatol

Не он, а Антонол.

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

У тебя очень интересный подход. Если ты каким-то чудом узнал какой-то факт, то этот факт ОБЯЗАНЫ знать просто все, и кто не знает - тот необразованное мудило, тяжелым бременем лежащее на обществе.

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

Если ты сам что-то не знаешь, то сразу начинается «невозможно разобраться во всем» или вообще «это нафиг не нужно, зачем мозги засорять».

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

А вот насчет всяких там ООП, ФП и прочего бреда по части программирования я уверен, что это - мусор. Не только из-за сложности, но и из-за тормознутости и оторванности от реального железа. Учить все более сложные абстракции только чтобы делать все более тормознутый софт - нет, спасибо.

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

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

А шо то за буква? В инглише «л» от «и» не отличаются, смотреть в Лабвью хекс-коды лень, удобнее читать как «Антонол» - выходит забавно.

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

Мануал в любом случае придется читать, так же как и с лабвью

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

раз лабвью нормально не поддерживает гит как среда для разработки

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

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

но через л ты его тупо не сможешь скастовать

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

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

Просто кнопочка «+версия» как в Метапрог онлайн не прокатит?

metaprog
() автор топика

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

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

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

Я такого не писал, это ваша интерпретация моих слов.

Да, я знаю, что там парочка формул, но гуглить и тупо вводить их мне было неинтересно. Загуглить почти любая обезьяна может, а вот поупражняться в численных методах на Лабвью уже не каждому дано:)

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

Я тут недавно когда поглядывал на реализацию malloc в С, наткнулся на реализацию динамических массивов в glibc, можете глянуть оно здорово похоже на то, что сделали вы, только написано более качественно скорее всего (хотя может и нет, вашего кода посмотреть нет возможности пока) в общем вот изучайте

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

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

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

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

на линуксе не пошла из-за джава эксепшонов. Версия 3.11.0.

У меня та же 3.11.0 пошла на Debian Stretch:

openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-8u242-b08-1~deb9u1-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)

Неплохо, но версионировние есть?)) Дай ссылку плиз.

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

Да, но судя по выбору джавы не разделяет моего отвращения к текстовым ЯП

А зачем разделять отвращение? Лучше разделять симпатию. Вот он пишет визуальный язык и ты пишешь визуальный язык. Уже хорошо. А джава — это инструмент, не более, и относиться к ней надо как к инструменту.

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

Речь о том, что сюда писал @AntonI, а @abcq по ошибке скастовал @Anatol

И кстати, я тоже был уверен, что I у @AntonI — это маленькая эль, а не большая ай, пока после твоей подсказки не скопировал в файл. Хотел посмотреть код в шестнадцатиричке, но это даже не понадобилось: терминусом сразу видно, что это ай. o_O А вот шрифт в фаерфоксе различия скрадывает.

Да здравствует терминал, короче…

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

Ну да я «могу, умею, практикую», главное что все поняли о ком речь, жаль каст не прошел )

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

А вот насчет всяких там ООП, ФП и прочего бреда по части программирования я уверен, что это - мусор.

Не только из-за сложности, но и из-за тормознутости и оторванности от реального железа.

Учить

Опять спалился, да штош такое то?

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

Unicode4all ★★★★★
()
Последнее исправление: Unicode4all (всего исправлений: 1)

А чё, проект Метапрог ещё не закрыли как долгострой? Или через 7 лет выйдет багованный, и надо просто подождать.

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

А чё, проект Метапрог ещё не закрыли как долгострой?

А чё, должны были? И кто должен? Автор заинтересован — проект пишется. Интерес пропал — и проект пропал. Автору как-то пофиг, долгострой это или нет.

Или через 7 лет выйдет багованный, и надо просто подождать.

А вот это вполне возможно…

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

А вот насчет всяких там ООП, ФП и прочего бреда по части программирования я уверен, что это - мусор. Не только из-за сложности, но и из-за тормознутости и оторванности от реального железа. Учить все более сложные абстракции только чтобы делать все более тормознутый софт - нет, спасибо.

Благодаря абстракциям(в частности ООП) можно развивать задачи огромной сложности на миллионы строк кода.

Всем было пофиг на накладные расходы от ООП даже в 1990 году(выход turbo pascal 6.0) когда это имело какой-то смысл, не говоря уже о 2020.

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

Основным недостатком Turbo Vision можно считать достаточно высокую (для целевой платформы) потребность в оперативной памяти. На типовом для времени выхода библиотеки компьютере с процессором 8086 c 1 Мб ОЗУ под управлением ОС DOS подключение к проекту Turbo Vision часто приводило к необходимости использования оверлейной структуры программы (динамической загрузки кода по частям во время исполнения). Во многом это связано с тем, что в открытой версии, поставлявшейся со средами программирования Borland, библиотеки были написаны на ЯВУ с использованием средств ООП, что само по себе приводило к большому расходу оперативной памяти.

и даже тогда это был топовый выбор для создания tui

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

оно не решает полный квадрат

А что это такое?

«Это какой то позор…»(с)

Сравнивая это чудо с необучаемыми дворниками мы оскорбляем дворников.


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

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

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

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

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

Спойлер: пока неважнецкий, на уровне С++.

Самое смешное, что доказать ты этого не сможешь на этой задаче. То есть вообще. Никто не полезет проверять корректность исполнения условий и алгоритма (а по лапше из линий это совсем не очевидно), а результат…ну результат там в 99% будет «не найдено».

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

это средние классы средней школы. Что бы знать это не нужно быть кандидатом каких то там наук, это азбука

Для профессиональных матанщиков. Я таковым не являюсь и имею право забыть за ненадобностью.

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

Имею. За московский транспорт ты так и не нашел чем оправдаться. Не надо рассказывать что он часто ходит (и то сомневаюсь, что везде), что новый подвижной состав (а сколько бабла уходит в трубу из-за того что его так часто обновляют, не умея обслуживать имеющуюся технику?). Расскажи лучше об эффективности в целом и условиях труда водителей автобусов: https://griphon.livejournal.com/465163.html и ликвидации троллейбусной системы на этом фоне: https://griphon.livejournal.com/465900.html

И где тут матан?

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

Это когда парабола превращается в прямую, совпадающую с осью х? Все там правильно с точки зрения численных методов (гуглить аналитические формулы мне было неинтересно).

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

Ну тут вопрос в другом, что решения некорректно на определенных данных

Это вроде нормально для численных методов.

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

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

Я тут недавно когда поглядывал на реализацию malloc в С, наткнулся на реализацию динамических массивов в glibc, можете глянуть оно здорово похоже на то, что сделали вы

Код на чистом текстовом Си читать довольно таки сложно, я ж не компилятор:)

Что там имено интересного?

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

Ваша скв устойчива к ошибкам сети

Да, файлы отправляются и запрашиваются по частям. В случае ошибки доставки части идут повторы попыток.

как-то подсчитывает контрольные суммы того что хранит?

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

Уже умеет сделать дельту между файлами?

Еще нет.

Принципиально она централизованная или децентрализованная?

Централизованная. Для децентрализованного решения в Лабвью маловато криптографических библиотек.

Какой вообще у нее принцип действия?

На стороне клиента заходишь в меню (может состоять из функций и других меню), жмешь фиолетовую кнопку «экспорт в онлайн» и идет упаковка всех файлов из меню и подменю плюс всех зависимостей по типам и функциям. Далее создаешь новый проект или обновляешь существующий, отсылаешь почастям заливаемый файл, отсылаешь заголовок - и проект залит. Как скачивать показал Котечка: https://youtu.be/EcQMgUAm0DE

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

Для децентрализованного решения в Лабвью маловато криптографических библиотек.

у тебя опять шизофазия

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

У меня та же 3.11.0 пошла на Debian Stretch

Мне лень разбираться с джава-рантаймами, и так ХР держать приходится, а под ней работает.

Неплохо, но версионировние есть?)) Дай ссылку плиз.

Не, я так глубоко не копал

А вот интересно. Попробуй узнать, раз ты уже туда влез.

А зачем разделять отвращение? Лучше разделять симпатию. Вот он пишет визуальный язык и ты пишешь визуальный язык. Уже хорошо.

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

А джава — это инструмент, не более, и относиться к ней надо как к инструменту.

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

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

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

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

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

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

Да. И не считаю нужным даже пытаться их понять.

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

А чё, проект Метапрог ещё не закрыли как долгострой?

По меркам ЯП и компиляторов разработка идет ударными темпами. И это учитывая то, что я делаю это в свободное время, не получая за это зарплату в тысячи баксов.

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

Поэтому мне лень его осваивать. Да и некогда и острой нужды пока что нет.

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

Благодаря абстракциям(в частности ООП) можно развивать задачи огромной сложности на миллионы строк кода.

А можно делать это и без них. Не знаю сколько строчек кода занял бы прототип Метапрога в текстовом эквиваленте («антиметапрог» на текстовых ЯП никто так и не осилил, хотя хвастливые потуги были), но сложности в нем хватает: сотни диаграмм, некоторые из которых просто огромные. И я не использую в нем ООП с классами, хотя в Лабвью оно есть.

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

Да, файлы отправляются и запрашиваются по частям

Что отвечает за целостность частей?

Это незачем.

Почему вы так думаете? Тор никак не препятствует передачи изначально битых файлов.

За меня это делает тор, который отвечает за транспортный уровень.

Что понимается под транспортным уровнем?

Централизованная. Для децентрализованного решения в Лабвью маловато криптографических библиотек.

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

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