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)

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

Итого, вместо одной простой операции деления, ты делаешь АБСТРАКЦИЮ в виде функции деления с оверхедом в виде проверки условия.

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

Как работать с библиотеками, в которых нет этой проверки? А если что-то внутри libc поделит на ноль?

А как это делается в Си? Никак?

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

Корки именно поэтому и существуют, чтобы такие ситуации можно было отладить в единой манере

Что за корки?

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

Не такой высокий, как в скриптухе и плюсах.

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

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

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

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

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

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

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

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

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

Лучше протрезвей и отдохни от ЛОРа.

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

В случаях если оверхед слишком велик можно будет использовать функцию деления без этой проверки

А как ловить тогда ошибку, если она все же произойдет? А? А?

А как это делается в Си?

Корками или рантаймом.

Что за корки?

ЛОЛ.

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

Думаю, излишне говорить, что никакие ядра ОС на метапроге писать не получится.

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

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

«Иногда, глядя с крыльца на двор и на пруд, говорил он о том, как бы хорошо было, если бы вдруг от дома провести подземный ход или чрез пруд выстроить каменный мост, на котором бы были по обеим сторонам лавки, и чтобы в них сидели купцы и продавали разные мелкие товары, нужные для крестьян,—При этом глаза его делались чрезвычайно сладкими и лицо принимало самое довольное выражение»(c)

По факту же Вы:

  1. за год (два?) асилили только глючный будильник у которого память течет как решето

  2. продемонстрировали полное незнание школьной программы по математике, истории, литературе

  3. продемонстрировали полное незнание основ программирования и полную неспособность учиться чему-либо вообще.

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

Что за корки?

Здесь уже немало про них говорили, и ты вполне мог догадаться, что речь идёт о core dump.

А вот, что такое core dump, я тебе не скажу. Это сакральные знания Антиметапрогеров.

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

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

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

за год (два?) асилили только глючный будильник у которого память течет как решето

И сколько течет? Гигабайт? Ну ладно, все же течет. Предлагай патч.

продемонстрировали полное незнание школьной программы по математике

Я не специалист по матану, мне не обязательно его помнить в идеале.

истории

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

литературе

Этот сумасшедший дом, называемый русской литературой, мне еще доводилось учить как часть зарубежной. Одни только психбольные и их комплексы. К счастью, у меня хватило ума проскипать большую часть. Кроме самой интересной, которую в школе как раз-таки не учат: http://www.stihi-xix-xx-vekov.ru/epi1.html

продемонстрировали полное незнание основ программирования

Что ж, пора блеснуть знаниями.

https://ru.wikipedia.org/wiki/Теорема_Бёма_—_Якопини

Теорема Бёма — Якопини — положение структурного программирования, согласно которому любой исполняемый алгоритм может быть преобразован к структурированному виду, то есть такому виду, когда ход его выполнения определяется только при помощи трёх структур управления: последовательной (англ. sequence), ветвлений (англ. selection) и повторов или циклов (англ. iteration).

И последовательное выполнение блоков, и ветвления, и циклы в Метапроге есть. Как я это все реализовал, с моим-то уровнем знаний?:)

полную неспособность учиться чему-либо вообще.

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

https://ebanoe.it/2020/02/13/dont-do-it/

гонка за технологиями, из-за которой приходится постоянно учиться. Все нормальные люди после работы проводят время с семьёй или как-то отдыхают. Но только не программисты. Приходится постоянно, ежедневно, днями и ночами учить очередную новую х**ню. Вот так и проходит жизнь — за компьютером. Восторженные наивные вайтишники могут сказать, что это же о**енно, узнавать что-то новое. Ни**я подобного. Пока ты молодой, может, и интересно. А потом когда думаешь о своём благополучии и как-то хочешь устроиться в жизни, может, у некоторых даже семьи есть, а вместо этого тебе нужно постоянно сидеть за компом и учиться, это уже ни**я не круто и вообще не доставляет удовольствия. Тут могут заявить, что везде нужно постоянно учиться. Ни**я подобного. Назовите хотя бы одну профессию, в которой после работы нужно приходить и учить очередную новую х**ню? Везде есть некий базис, на основе которого люди работают. Да, периодически они совершенствуют свои знания, но это периодически (!), а не на регулярной и непрерывной основе.

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

core dump

Насколько я понял, разбирается он только по отделньым функциям. А отдельные функции - это лишние jump и копирование по стекам, так ведь?

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

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

Ни плюсы, ни раст меня не устраивают, иначе я б писал на них, а не делал Метапрог.

Там куча народа трудится

И годами пилят-недопилят тот же раст, сидя на зарплате в тысячи баксов. И так практически любой новый ЯП. А мне тут закидают, что я целый ГОД, видите ли, не выкатываю Метапрог «сам на себе», при этом вообще не являясь профессиональным программистом и не получая за это деньги.

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

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

По поводу удаленного комментария и плохого айти:

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

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

А мне тут закидают, что я целый ГОД, видите ли, не выкатываю Метапрог «сам на себе», при этом вообще не являясь профессиональным программистом и не получая за это деньги.

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

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

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

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

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

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

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

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

Значит не лучше.

а вы в «одного» хотите написать язык который решит все проблемы, вы серьезно?

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

В программировании тоже есть определенный базис

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

вы никогда не писали «языков программирования» и естественно у вас нет знаний в этой области

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

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

Есть дофига других вещей, которыми ты можешь заниматься

И занимаюсь. Я ж ведь не профессиональный программист:)

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

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

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

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

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

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

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

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

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

Ну вы и так постоянно получаете «направляющую» в сторону того что вы не учли в ваших наивных попытках написать «язык»

Я вроде ничего такого не проскипал, на все дал ответы. Если нет - повтори.

проще всего в вашем случае было бы показывать код

Это я и делаю.

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

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

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

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

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

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

Они сами занимаются фигней. И, опять же, мнение большинства - не аргумент.

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

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

Сложный дебаггинг и тем более ядра ОС подождут, сейчас другие проблемы.

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

Сишку-то я вроде знаю

Не знаешь.

А вот считать нормальным тот же питон у меня язык не повернется

Его ты тоже не знаешь

И Лабвью, и питон - скриптуха с тормозами и ограничениями

У всего есть ограничения.

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

Нет, у тебя синдром утенка.

Они сами занимаются фигней. И, опять же, мнение большинства - не аргумент.

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

Сложный дебаггинг и тем более ядра ОС подождут, сейчас другие проблемы.

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

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

И сколько течет? Гигабайт? Ну ладно, все же течет. Предлагай патч.

Оплатишь лицензию лабвью и работу?

Я не специалист по матану, мне не обязательно его помнить в идеале.

Школьная математика = матан. Но у тебя хорошее самомнение, бенчи которые ты мне скинул, показывали разницу не более 100%, но ты заявлял в разы!

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

Великий знаток истории, противопоставляет текст графике. Что дальше ? Будешь противопоставлять музыку звукам?

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

Да-да, частушки сме*уюшки. Поганый текст, все эти рассказы такие длинные, предлагаю тебе перейти на «цитатки».

И последовательное выполнение блоков, и ветвления, и циклы в Метапроге есть. Как я это все реализовал, с моим-то уровнем знаний?:)

Не буду упоминать жопу в нашей беседе.

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

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

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

А потом когда думаешь о своём благополучии

как-то хочешь устроиться в жизни

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

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

И годами пилят-недопилят тот же раст, сидя на зарплате в тысячи баксов

Да, на этом обрыганском расте даже нельзя написать будильник. Ещё в метапроге есть встроенный гуй на нуклере ( ты же нуклер написал?), не то что в обрыганстве этом.

при этом вообще не являясь профессиональным программистом и не получая за это деньги.

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

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

И присылать донаты!

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

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

только все руки не доходят.

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

А горы талмудов на отвлеченные темы мне вряд ли помогут в моей задаче.

Знаешь ли ты, что грузин родившийся в 19 веке и закончивший 4 класа церковной школы, читал в итоге по 300+ страниц в день (между делами). Учитывая это, думаю твой багаж знаний примерно равен одной неделе такого чтения.

Метапрог, а сколько ты за день способен прочитать?

Сишку-то я вроде знаю.

Я писал хеллоу ворлд на 23 языках, не спорь со мной.

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

А горы талмудов на отвлеченные темы мне вряд ли помогут в моей задаче.

смотри какую книгу я нашёл, с упражнениями в конце глав: http://e-maxx.ru/bookz/files/mogensen.pdf

или тоже талмуд на отвлеченную тему?

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

Бес скора наконец-то оставил меня. И теперь список тем доступных для комментирования расширился.

Прочитал все темы про metaprog, по моему все самое веселое закончилось теме на 6(а может и раньше). Сейчас пережевывают одно и то же кругами. Но как чтение перед сном эти темы отлично подходят. :)

Мой вывод: metaprog достойный продолжатель дела BolgenOS и Антивируса Попова.

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

смотри какую книгу я нашёл

Что-то такое и на русском есть: http://alexei-s1.narod.ru/books/pishem_compilator.pdf Типа, для самых маленьких.

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

В любом случае любопытная тема, надо как-нибудь посмотреть, как это народ делает. Хотя бы на примере matiec – IEC 61131-3 транслируется в Си.

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

Автор темы The C Programming Language не хочет осилить, а ты ему книги по написанию компилятора предлагаешь. Вспоминая все того же Дениса Попова ему в теме тогда писали:

ты просто сам не понимаешь о чем говоришь, теория компиляторов на порядки сложнее чем какие-то там html и qt, которые может осилить любой индус

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

Значит не лучше.

Увы не значит.

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

Уже обсуждали (Алгоритмы, структуры данных, паттерны это если по минимому)

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

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

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

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

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

Я не специалист по матану, мне не обязательно его помнить в идеале.

Речь не идет о матане, речь идет о школьной программе по математике. Квадратное уравнение - это НЕ МАТАН, Вам про это говорили 100500 раз но Вы же необучаемый дворник… То что Вы матана (который в вузе проходят) не знаете и так очевидно, это даже не обсуждается.

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

Нет, очевидно не знаете.

Этот сумасшедший дом, называемый русской литературой…

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

Что ж, пора блеснуть знаниями.

Ссылка и копипаста из вики - это не блеск знаний.

И последовательное выполнение блоков, и ветвления, и циклы в Метапроге есть. Как я это все реализовал, с моим-то уровнем знаний?

Крайне криво в виде лютого говнокода. Вам уже 100500 раз говорили что сейчас программируют все, от детсадовцев до пенсионеров, тут нечем гордиться.

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

Решили как-то сравнить прапорщика с обезьяной. Посадили их в две одинаковые комнаты с деревом и бананом на дереве. Обезьяна потрясла, потрясла дерево - банан не падает. Видит палка в углу стоит, зацепила банан палкой, сидит и жрёт довольная.
Прапорщик же трясёт пальму, трясёт. Трясёт-трясёт. Час трясёт, два трясёт. Ему говорят:
- Товарищ прапорщик, ну вы подумайте немного.
Тот отвечает:
- А че тут думать! Трясти надо!
AntonI ★★★★
()
Ответ на: комментарий от AntonI

А че тут думать! Трясти надо!

Вся суть Metaprog-тем. :)

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

Первая ссылка в гугле.

Мне лень гуглить.

Ожидаемо. А вот если бы ты ответил, то ТС побежал бы переспрашивать у Дианы и @fsb4000 правильно ли ты ответил, а потом бы еще пять раз переспросил что такое core dump… и все равно бы в итоге не понял.

Как со скоростью работы кода на различных ЯП, абстракциями, литературой и матаном.

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

В программировании тоже есть определенный базис

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

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

Fortan IV, были еще более ранние версии, но и этот сойдет

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

Юнионы, структуры

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

Указатели и ссылки это лишь абстракция на переходы и мекти и вообще адресацию это было тоже до С.

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

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

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

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

Зато он знает историю! Ну как историю - только в варианте Вятровича. И ну как знает… примерно как Цэ.

Загадка третьего тысячелетия - @metaprog утонченный тролль или искреннее … существо? Как предотвратить появления таких … сущеcтв в дальнейшем?

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

Не знаешь.

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

Его ты тоже не знаешь

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

У всего есть ограничения.

У Си их меньше всего, поэтому я его и взял как бекенд.

Нет, у тебя синдром утенка.

Мне лень гуглить что означает этот мем.

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

Специалисты тоже могут ошибаться из-за зашоренности.

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

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

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

Оплатишь лицензию лабвью и работу?

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

Начинаешь писать метапрог, теперь ты успешный

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

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

Знаешь ли ты, что грузин родившийся в 19 веке и закончивший 4 класа церковной школы, читал в итоге по 300+ страниц в день (между делами). Учитывая это, думаю твой багаж знаний примерно равен одной неделе такого чтения.

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

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

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

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

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

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

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

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

Совершенно верно. Компилятор я сейчас не делаю. Пока что сравнительно простой транслятор.

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

А причем тут плагиат? Попов делал бесполезное барахло и смешил всех в своей теме, ты делаешь тоже самое. Зачем ставить жирный рантайм Labwiev чтобы написать будильник? Достаточно блокнота и компилятора. Код будильника который ты опубликовал на Pastebin нечитаем от слова совсем.

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

работающий транслятор, генерирующий код, компилируемый в бинарники, которые работают корректно

Нет, они не работают корректно. Их нельзя отладить ни одним из существующих инструментов для си.

В Си на несовместимость типов будет ошибка компиляции

#include <stdio.h>
void main(void) {
    int i;
    char *str = "Ололо" + i;
    printf("%s %s\n", i, str);
}
$ gcc test.c
$ ./a.out
Ошибка сегментирования (стек памяти сброшен на диск)

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

Мне достаточно того, что питон - интерпретируемый недоязык с динамической типизацией

Да-да, мы эту мантру уже слышали.

Специалисты тоже могут ошибаться из-за зашоренности.

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

Мне лень гуглить что означает этот мем.

Это не мем)))

делать быстрый софт после часа интерактивного обучения

Этого не будет.

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