LINUX.ORG.RU

Метапрог-прототип 43: начало переделки «на самом себе»

 , , , ,


2

4

Скачать:

https://mega.nz/file/fUhEjbCI#1LbpnccSm_SkwJi5Bugwc679tFxj7YJzCTOQxmxHvq0

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

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

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

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

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

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

Предыдущая тема:

Метапрог-прототип 42



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

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

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

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

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

@MOPKOBKA, понимаю что разработка бывает длительным и трудоемка.
Критика вашего проекта вызвана тем, что жаль Вашего и @metaprog труда.
Почему жаль?
Потому что как сказал ранее знаю, что означает разработка.
Но нужно находить в себе силы, признавать ошибки и начинать все с «чистого листа».

Вот к примеру расскажу о парсинге Main MetaData Stream из 1С 7.7.

Первый раз из-за лени сделал парсер, который гвоздями был прибит к формату Main MetaData Stream.

Второй раз мне понадобился API для инициализации объектов /любой сложности/.
Разработал его и применил для Main MetaData Stream.

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

Посмотрите во что вылилась моя лень?
А ведь если бы не ленился, то мог бы его сразу «правильным» сделать.

В вашем проекте не прослеживается API core.
Поэтому вы будете много ИЗОБРЕТАТЬ разных СКВ и КВН.

Подумайте об этом …

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

Посмотрите во что вылилась моя лень?

А ведь если бы не ленился, то мог бы его сразу «правильным» сделать.

А вы уверены, что смогли бы его сделать с первого раза, не имея опыта, полученного на предыдущих этапах?

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

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

Возможно, изобретение велосипеда действительно является лучшим решением

… как бы это ни звучало от человека с такой аватаркой как у меня…

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

А вы уверены, что смогли бы его сделать с первого раза, не имея опыта, полученного на предыдущих этапах?

Что вы фантазируете?
Знал как лучше, но поленился первый и второй раз … /в посте об этом сказано/

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

Ну хорошо если так.

Часть, обращенную к Метапрогу это не отменяет: он-то не знает как лучше. Он не знает как сделать хоть как-то.

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

Ну хорошо если так.

Видите ли, всегда есть два пути:

  • «лаба»;
  • профессионально.

Всегда выбираю второй путь /иногда правда ленюсь, но обязательно исправляюсь/.
Это как поговорка о скупом.

Ребята, которые ведут разработку Метапрог ИМХНО зациклились в суждение о том, что их путь правильный.
По существу им нужно было в первую очередь вести разработку core API …
Что-там у них, лень или отсутствие опыта, не знаю.
То что ныне у них есть это ни как не визуальный компилятор, а продвинутый генератор исходного кода на основании диаграмм.
Вот в «Дракон» разработчик ИМХО выбрал правильный путь разработки.
У него диаграммы понятны любому.
Метапрог то они разработают, но могли бы разработать много функциональный и удобный визуальный tools …

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

Какой бред. Реально после этих стереотипов хочется умыть руки и вернуться в системщину к дедам, подальше от «скриптухи».

Ваши аналогии и близко не к месту. Кто вам вообще сказал, что ОП должен все делать так, как вам удобнее?

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

Такой сноб разрушит любой проект своей «целесообразностью».

А этот форум превратили в свой личный храм самоутверждения.

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

Наконец-то все довольны.

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

Ага.

«Видит бог, будь я круглым невеждой и наглецом, а не скромным образованным человеком, я бы завоевал себе известность в этом холодном, бесчувственном мире. Я ухожу, сэр. Вы так со мной обращаетесь, что я даже рад уйти. Но я выполнил свой долг. Насколько мог, я исполнял все, что полагалось по нашему договору. Я сказал, что сделаю вашу газету интересной для всех слоев общества, — и сделал. Я сказал, что увеличу тираж до двадцати тысяч экземпляров, — и увеличил бы, будь в моем распоряжении еще две недели. И я дал бы вам самый избранный круг читателей, какой возможен для сельскохозяйственной газеты, — ни одного фермера, ни одного человека, который мог бы отличить дынный куст от персиковой лозы даже ради спасения собственной жизни. Вы теряете от нашего разрыва, а не я. Прощайте, арбузное дерево!»

(c) Все уже написано до нас

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

Наконец-то все довольны.

Вы ГОМНЕЦА на других вылили и

НАКОНЕЦ-ТО ВЫ ДОВОЛЬНЫ ...

Но все же резон в вашем посте есть.
И он таков
https://bible.optina.ru/new:mf:07:06

Не давайте святыни псам и не бросайте жемчуга вашего перед  свиньями, чтобы они не попрали его ногами своими и, обратившись, не растерзали вас
anonymous
()
Ответ на: комментарий от kolpakchi

Все есть граф. Но дьявол кроется в деталях.

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

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

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

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

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

Хотя его часто критикую, но уважительно к @mataprog и @МОРКОВКА отношусь …

По себе знаю, что иногда бывает «закостенешь» в своем «ПРАВИЛЬНОМ» решении и бывает трудно признать, что не прав и нужно задачу решать по другому.
Что у них, не знаю, но похоже

ВОШЛИ В БЕСКОНЕЧНЫЙ ЦИКЛ
anonymous
()
Ответ на: комментарий от AntonI

Тут хватает людей разбирающихся в том что он пытается сотворить

Да? А не похоже.

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

Но тут же сразу будет ответ в духе:" он дурак сам не знает чего хочет".

Ну объсяните тогда своими словами, какие недостатки присутствуют у текстового описания программ и каким образом их можно устранить.

Можно на примере конкретных языков программирования.

Обсуждение между мной и вами, Опа не трогаем. Кого-нибудь интересует эта тема?

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

Пусть тогда эти люди ответят на простой вопрос, что он пытается сотворить?

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

Насколько я понял, в случае Метапрога «связи» это все-таки порядок выполнения, а не потоки данных, как было бы логично.

Ну объсяните тогда своими словами, какие недостатки присутствуют у текстового описания программ и каким образом их можно устранить.

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

Если же пожертвовать скоростью написания программы, скоростью выполнения, читаемостью программ даже небольшой сложности, можно получить ту же Labview. Читать там почти не надо, писать тоже. Пользоваться ей могут даже не-программисты (правда, качество получаемого «кода» получается так себе). Но для простой автоматизации вполне годится.

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

Тут хватает людей разбирающихся в том что он пытается сотворить

Да? А не похоже.

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

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

COKPOWEHEU
()

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

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

что он пытается сотворить?

графическую замену текстовым ЯП. Причем то что юзер рисует потом конвертится в С и компилируется.

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

Обсуждали 100500 раз. У текста высокий порог вхождения, для некоторых задач неподготовленному юзеру действительно проще мышкой повозить. Лабвью хороший тому пример. Еще такие феньки есть во всяких блендерах и саломеях, что бы конвейры для обработки че нить там городить драг-энд-дропом. Но не надо так делать в ЯП общего назначения, это тупиковый путь.

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

Насколько я понял, в случае Метапрога «связи» это все-таки порядок выполнения

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

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

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

но ТС же все теории по пролетарски отвергает

Это да.
Чувствуется в нем ПРОЛЕТАРСКАЯ ЗАКВАСКА …

До основания все РАЗРУШИМ, а затем ...
anonymous
()
Ответ на: комментарий от anonymous

Про диаграммы

У диаграммы четыре ноги.  
Позади у нее ДЛИННЫЙ ХВОСТ.  
Но трогать ее НЕ МОГИ.  
ВСЕ РАВНО НЕ ПОЙМЕШЬ  
    ВСЕ РАВНО
      НЕ  
         ПОЙМЕШЬ!
anonymous
()
Ответ на: комментарий от anonymous

… А затем нацепим клоунский нос и будем делать метапрог.

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

Обсуждение между мной и вами, Опа не трогаем. Кого-нибудь интересует эта тема?

Лаконичное вышло обсуждение;-)

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

неуклонно растущие задержки между релизами

того и гляди, совсем потеряется. Жалко: скучать будем

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

Появится новый. Всегда появляются. анонiнимус, метапрог, дениска … сколько их уже было.

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

У текста высокий порог вхождения,

Википедия

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

Что на это отвечать? Какие могут быть барьеры входа у хелло ворлда? Через что вы там перепрыгнули, чтобы получить координаты курсора?

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

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

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

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

Вопрос был такой: перечислите недостатки. Имхо, этот ответ - вода, чистая гуманитарщина. Прав я или прав ты, не важно, потому что понимания нам не достигнуть.

Но не надо так делать в ЯП общего назначения, это тупиковый путь.

Ок. Раз вы сами не хотите, то зачем я буду вас заставлять?

Вот пример от меня.

  1. Данные внутри кода. Бесконечные списки дефайнов в си. Собранные на коленке деревья и таблицы.

Возьми ты константы, открой табличный процессор и занеси их нормально в табличку. Чтобы список был списком. Таблица таблицей.

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

Сюда же я отношу параметры проекта или его части.

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

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

Насколько проще было бы, если бы тот же SТ и прочие распространяли параметры МК не в pdf, а в json например. Чтобы я сразу взял и получил дерево регистров, список периферии. Чтобы я взял и сравнил сразу программно два разных МК и подобрал лучший.

  1. Описание объектов.

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

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

По сути описание объектов это обычные данные. И внутри кода им нечего делать.

Разумеется, это простейший случай. Всякие фунции-конструкторы объектов так не опишешь.

  1. Вложенные блоки кода. Условные выражения, циклы, функции - всегда воспринимаются как отдельная сущность, как единица исполнения. Они образуют дерево, и это дерево неплохо бы видеть, а лучше сразу вводить как дерево, а не как «сочинение Васи Иванова», которое будет потом проверять на ошибки учительница по имени Компилятор.

А теперь сравните ваши ответы и мой. Разительная разница, не так ли?

Учитывая, что именно вы здесь «люди, которые отлично разбираются в том, что хочет сделать метапрог», и самокритики от вас в этом треде не будет никогда, то следующая ваша реакция:

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

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

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

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

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

Первые треды о Метапрог почитайте.
Было много хороших советов форумчан.
Но надоело всем по пять раз советовать одно и то же потому, что ТС просто отмалчивается и делает все так как он считает нужным.
По существу в тредах диалогов с ТС нет так как они ему не нужны …

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

В экономике и большинстве теорий, посвящённых конкуренции

А при чем здесь экономика и конкуренция? Порог вхождения в специальность - штука объективная. Грубо говоря, начать программировать на Си сложнее, чем на Питоне.

Вот пример от меня.

Пример недостатков текстового представления алгоритма, надо полагать?

  1. Данные внутри кода. Бесконечные списки дефайнов в си. Собранные на коленке деревья и таблицы.

А какая разница хардкодить на текстовом или графическом языке?

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

Насколько проще было бы, если бы тот же SТ и прочие распространяли параметры МК не в pdf, а в json например. Чтобы я сразу взял и получил дерево регистров, список периферии.

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

По сути описание объектов это обычные данные. И внутри кода им нечего делать.

Не понял эту претензию. Причем с двух сторон. В контексте текст_vs_графика - как то или иное представление эту задачу решает? В контексте программирования: вы предлагаете вынести прототип класса в отдельный файл отдельного формата? Но это ведь неудобно: код он и есть код.

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

В случае графического программирования это решается рамочками и другими стреуткрами, в случае текстового - отступами. Опять же: в чем тут недостаток текста?

А теперь сравните ваши ответы и мой. Разительная разница, не так ли?

Конечно. Краткий и емкий ответ по существу от @AntonI против вашего потока сознания.

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

Так что никакого смысла в моем ответе вам нет и не будет

То есть я зря пытался разобраться что же имелось в виду?

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

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

COKPOWEHEU
()

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

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

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

Ну и самого аффтора, как эталонный пример необучаемости.

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

я зря пытался

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

А при чем здесь экономика и конкуренция?

Вот это я и спрашиваю.

Порог вхождения в специальность - штука объективная. Грубо говоря, начать программировать на Си сложнее, чем на Питоне.

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

Вот и я начал эти дебильные сравнения употреблять. Плохой форум, прививает дичь.

А какая разница хардкодить на текстовом или графическом языке?

Где проще задать и посмотреть CSV данные, в Экселе или в текстовом редакторе?

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

Угу, угугу. С какого перепуга это истина? Типа pdf у всех одинаковый? Там у каждого свой стиль оформления, никаких правил, и формат, который нельзя распарить. Я предлагаю сделать так, чтобы данные можно было распарить. И тут оказывается, что я виноват в той проблеме, которая вообще существует с доисторических времён. Угу.

Не понял эту претензию.

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

Код он и есть код

Алгоритм это код. Список членов класса это данные, схема как минимум.

Конечно. Краткий и емкий ответ по существу от @AntonI против вашего потока сознания.

Вы совершенно заврались тут все. Я без иронии, вы полностью окостенели.

Ну хоть я убедился, что адекватов тут днём с огнём не сыскать.

Учитывая, что недостатки графического подхода тут всем более-менее понятны (ну кроме Метапрога, естественно),

Да вы понятия не имеете, что такое графика. У вас мышление линейное, 1-D. Какой графический подход, к чертовой матери? Стрелочки ваши и блок схемы это детский сад.

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

Графика это наглядность.

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

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

Засим закрываю этот технический форум, в котором тонны полезной информации, где-то случайно в потоке ещё более умных разговоров.

Тут слишком для меня высокий уровень.

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

От Вам очень много букв и непонятно как вообще га этот поток сознания отвечать. Я отвечу только на это:

Учитывая, что именно вы здесь «люди, которые отлично разбираются в том, что хочет сделать метапрог», и самокритики от вас в этом треде не будет никогда, то следующая ваша реакция:

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

В ранних темах про метапрог было много попыток сказать что то дельное. Там же кстати очень подробно разбирали чем текст лучше/хуже графики. Если Вам не лень читать 20тыс комментов - ищите. Мне вот, при таком Вашем подходе, точно лень дублировать то что там говорилось.

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

У меня сейчас основная претензия к ТС - испоганил хорошее название…

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

Да вы понятия не имеете, что такое графика. У вас мышление линейное, 1-D. Какой графический подход, к чертовой матери? Стрелочки ваши и блок схемы это детский сад.

Отсюда поподробнее пожалуйста

Графика это наглядность

Какую именно наглядность Вы предлагаете?

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

Зря. Лучше бы почитал профессионалов.

Если бы я хотел читать профессионалов, вряд ли бы я их искал в юмористическом треде.

А при чем здесь экономика и конкуренция?

Вот это я и спрашиваю.

Откуда же нам знать зачем вы ее упомянули?

Сделать одну и ту же современную задачу на питоне проще. Но начать одинаково легко.

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

Угу, угугу. С какого перепуга это истина? Типа pdf у всех одинаковый?

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

И тут оказывается, что я виноват в той проблеме

Ну если вы считаете себя виноватым, ваше право. Я про виноватость ничего не говорил.

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

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

Алгоритм это код. Список членов класса это данные, схема как минимум.

Переменные это тоже код.

Да вы понятия не имеете, что такое графика. У вас мышление линейное, 1-D.

Невероятно конструктивное замечание. Ну допустим, линейное (хотя я тут уже несколько раз хвалил Labview за потенциальную возможность распараллеливания).

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

Графика это наглядность.

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

Вас реально только одна вещь в мире может изменить - деньги.

Меня - едва ли. И уж точно я не собираюсь считать деньги в чужих карманах. Вон та же Labview продается гораздо дороже gcc - и что? Стала она от этого удобнее? Да не особо.

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

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

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

У меня сейчас основная претензия к ТС - испоганил хорошее название…

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

COKPOWEHEU
()

Почитал старые темы. Появилось ощущение, что автор даже с лабвью никогда толком не работал в проектах крупнее «hello, world». Поэтому пытается собрать такой большой «hello, world» с соответствующим «качеством».

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

Появилось ощущение, что автор даже с лабвью никогда толком не работал в проектах крупнее «hello, world»

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

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

его «портянки» и проникнитесь стилем программирования.

ну в принципе это то, как выглядит лабвью, когда в него только начинают. У нас был четкий гайд как надо, как ниннада, и за что руки отрывают. Вообще лабвью это такая вещь в себе. Она для определенных задач и тащить ее, чтоб «для всего»…ну наверное можно, только в этом разбираться никто не будет. И судя по ответам даже на хабре, даже от лабвьюшников, никто в этой лапше и близко ничего не понял. А учитывая, что этому метапрогу уже 3 года, то можно было бы уже и научиться хоть схемы понятнее строить. Я вот близко не понял, что даже на самых простых происходит, хотя как-то рефакторил пару древних лабвьюшных (брр, до сих пор тошнит).

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

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

Пусть криво и с багами, но ему удалось нарисовать на labview транслятор непонятного формата в нечто, похожее на Си.

Именно так

Ни кто ни чего не поймет, потому что ПОЛЕТ ГРАФИЧЕСКОЙ МЫСЛИ это как ...
anonymous
()
Ответ на: комментарий от anonymous

Ни кто ни чего не поймет

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

Зачем думать понимать, трясти рисовать надо.

Пусть рисует, there are more things in heaven and earth, Horatio.

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

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

Мы все, букашки/таракашки и о нас забудут.
А о проекте Метапрог будут слагать легенды и даже выпустят телепостановку …

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

Напрашивается тема для речи лауреата премии метапрога – «Можно ли освободить программирование от скриптоты?»

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

Напрашивается тема для речи лауреата премии метапрога

Нобелевской же премии …

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