В этой теме противопоставляются два подхода к хранению/редактированию/представлению исходного кода программ.
1. Стандартный подход - весь исходник это гигантская строка, суп из символов юникода, где распространение лексической/синтаксической ошибки марширует до первого переноса строки, либо символа ; а бывает что и вовсе до конца файла. Обилие открывающих/закрывающих лексем, либо отступы которые необходимо соблюдать. Удаляем в рандомном месте N символов юникода и сохраняем, потому что гадина кот попрыгал по клавиатуре, и можно плакать если уже не видна былая структура кода, и надо звать экспертов-археологов-криптоаналитиков, либо искать древнюю версию из бекапа. Плюсы подхода - можно редактировать исходник через блокнот на коленке. Недостатки — всевозможные diff частенько тупят.
2. Древовидный подход - весь исходник это хорошо структурированное дерево с листями-строками, где любые перемещения кода, удаление, вставка, затрагивают только целые ветви дерева либо толко листья, а ошибка на один символ юникода в листочке никак не затронет всё дерево, а чётко локализуется. "Разделяй и властвуй". По сути получаем абстрактное синтаксическое дерево, если не путаю. Известные мне похожие/близкие реализации — Scratch/Alice. Недостатки таких реализаций - детскость/скриптовость. Недостатки подхода - мегаинструмент хацкеров - блокнот — бесполезен. Преимущества – diff могут быть реализованы гораздо чётче; парсить такой исходник — детсадовец справится.
Идея без реализации невесома, но она имеется, реализация второго подхода, для языка, подобного с++, а по сути лишь обёртка над ним, при этом блоки выглядят минималистично, расположены структурировано и по почти компактно, нет детскости/раздутости в отрисовке как у ïîäîáíûõ. Транслируется в С++ а тот автоматом скармливается g++/clang. Отладка через gdb.
Вопрос, почему второй подход мертворожден, а труп первого подхода с удовольствием насилуется погромистами, прогресс Земли в исскустве программирования забуксовал?
Некоторые погромисты часто не могут понять что именно это значит, кричат, дрыгают ногами, исходят пеной, обзываются. Надеюсь вы не из них. А если всё-таки хочешь написать гадость, то
Сейчас потихоньку портирую старый редактор с С#(Unity3D) на С++ под библиотеку ncurses, так что будет работать везде, даже на юниксах без иксов. Ответь на этот пост "да" чтобы увидеть видео с демонстрацией новой версии, правда там даже редактировать нельзя, но читает и отображает файлы старого проекта на отлично.
продолжай, пожалуйста, про гадину-кота, что попрыгал по клавиатуре, и пропавшую структуру кода понравилось.
Правда не понятно, как древовидный код защитит от подобного котосвинства. Прыгнет гад на клавиатуру, переключится в режим редактирования корня и хана структуре. Сиди плач, восстанавливая разрушенные связи.
>>877120 Все опасные операции - удаление, вырезание, замена, требуют дополнительных зажатых клавиш, для защиты от случайностей. У меня просто ALT зажимался. С корнем дерева всё просто супер - его просто нет возможности выделить :) .
Такие трюки возможны как: через шифт и стрелки выделяем несколько процедур, жмём SHIFT-I и вот они уже переместились в класс, который лежал перед ними, и становятся его статическими методами. Или жмём SHIFT+O и выделенные дети вылазят из родителя, и распологаются перед ним, а чтобы вылезли после него, то надо жать CTRL+O.
>>877120 Есть опасная комбинация как - выделить любой из высших после корня элемент при помощи "CTRL+LEFT", выделить всех соседей через "A", заменить выделеные элементы новым элементом через "ALT+F".
> Такие трюки возможны как: через шифт и стрелки выделяем несколько процеду …
Ты слишком хорошо знаешь мертворожденые подходы, ты некромант? Хочешь, воскресить древнее забытое искусство?
Осмелюсь разочаровать, но современные магистры компьютерных технологий уже владеют методологией: хуяк-хуяк и в продакшен и делают так, как ты предлагаегь, мой милый, велосипедоконструктор, даже не осознавая этого.
>>877139 Так есть то что я придумал? Или они хорошо умеют аккуратно редактировать эту кашу из символов? А то мне немного лень это всё делать. Смысла быть "не-первым" не вижу, что я буду повторять уже обкатанное.
>изобретает велосипед с квадратными колесами, когда можно просто купить нормальный компьютерный стол, у которого клавиатура недоступна кошкам. А ты неплох, просто типичный программист.
1. Убрать обилие скобок, и скобочный ад, посмотрите в соседней теме(вытянул-скрин), ненавижу такой ад, пусть горят в нём те кто продолжают форсить скобки в 21 веке-то. 2. Выпилить инфиксные операторы а значит не будет мороки с их приоритетами.
> Или они хорошо умеют аккуратно редактировать эту кашу из символов?
Я так понял, ты хочешь придумать свое ооп, где вместо структурной единицы будет файл, а не класс. Почему бы, гм, не попробовать классику? А потом, будешь с пацанами соревноваться в количестве паттернов на 100 кода…
>>877161 Ньет! Изменён лишь подход к хранению/представлению исходника. Подобной чушью я не собираюсь заниматься как > структурной единицы будет файл Откуда вообще эта мысль обо мне? Время когда я был астронавтом архитектуры давно прошло. Классику люблю и уважаю, высокое абстрагирование это зло. Паттерны ненавижу, особенно singleton. Не надо думать обо мне плохое.
>>877161 >свое ооп Нет. В предыдущий раз это было С++шое OOP, в этот раз я помышляю оставить только Plain Old Data структуры, и функции. От OOP не так много пользы. И наверное не будет поддержки указателей, они не очень то и нужны, от них больше проблем чем пользы. Будут просто ссылки.
Применял предыдущую реализацию для внутриигрового программирования роботов типа Colobot. Жарили они друг дружку лазерами, а ещё раньше и гранаты в друг дружку кидали, и бомбы сбрасывали на базу противоположной команды. С возможностью как-бы мультиплеера, "твои роботы против моих". Ну не хотел я использовать скриптоту типа LUA. Скриптота не нужна.
>>877554 >/thread IDE меня разочаровали - чертов Eclipse безбожно тормозит, хоть и быстрее чем Netbeans. В итоге написал свой редактор с автодополнением слов, и делает он это просто моментально, и сортируя все слова по популярности использования в проекте, моя производительность выросла значительно. А так всё-те же возможности редактирования каши-текста.
Аноним сказавший в опросе что "в скратче тоже текст", что ты имел в ыиду, поясни. Разве в скратче исходник это не дерево объектов? а слой-носитель этих объектов не имеет значения.
>>877576 >дебила и идеи дебильные Докажи что идея этого треда дебильна, а иначе ты дебил. Но судя по тому что ты отвечаешь дебилу, то с самооценкой у тебя проблемы. Ты обращался к психолухам?
>>877576 Не можешь доказать? IQ не хватает? Покажи также дебильность моих остальных идей, иначе ты просто познавший жизнь, садовник. Иди же прививай сливовую ветку на грушу, давн.
То что я шизик, и просто мусор, вовсе не означает что я дебил. Идите учите матччасть по псих.заболеваниям. Мои программы никогда не имеют багов независимо от размера. А вы же просто мартышки с очками в руках, еле осилившие пайтон и пыхпых и жс. Отвечайте по существу треда, иначе просто дауны и тролли.
>>877596 >То что я шизик, и просто мусор, вовсе не означает что я дебил. В общем случае это верно. >Отвечайте по существу треда, иначе просто дауны и тролли. А вот это - значит что ты именно дебил, ко всему прочему. Удачи в личной жизни, хаха.
>>877600 > личная жизнь Видно что ты проецируешь. Мне тебя жаль что у тебя с личной жизнью беда, но не боись, всё у тебя ещё наладится. нет,такие лобоёбы как ты не нужны
>>877106 (OP) > Вопрос, почему второй подход мертворожден, а труп первого подхода с удовольствием насилуется погромистами, прогресс Земли в исскустве программирования забуксовал?
Просто потому что такой AST редактор нихуя неудобен. Как ты в свое синтаксическое дерево будешь копипастить кусок кода со stackoverflow?
> Недостатки подхода - мегаинструмент хацкеров - блокнот — бесполезен. Преимущества – diff могут быть реализованы гораздо чётче; парсить такой исходник — детсадовец справится.
Собственно ты сам и ответил на свой вопрос. Если сложно парсить будет разработчикам компилятора/иде -- это ничего страшного, а вот пользователи без нормального редактора твой инструмент в корзину отправят
>>878205 Была реализована схема - copy/paste, когда выделенные элементы сериализуются/десереализуются в транспортную кодировку вида "[a-p]+" , специально для подобных целей. Именно так оно записывается/читается и буфера обмена. А простота парсинга позволяет без труда реализовать отрисовщик на JS для любого форума, для такой схемы. Чтобы лежал не только код в транспортном виде. Ведь есть же подсветка стандартных синтаксисов в огромных кол-вах, что мешает добавить ещё один. Я сейчас поищу, я пастил в такой кодировке на pastebin.
Могу выложить былые исходники, там разделение на абстрактные классы и реализацию под Unity3D, так что сможете посмотреть как это было. Если проголосует в новом опросе положительно хотя-бы 5 человек. http://pollservice.ru/p/5ygj1rsrfc
Я придумал самый зачётный вариант передачи исходников через тот-же SO и любые другие форумы. Рендерим древо в PNG, добавляем в картинку скрытую информацию для редактора. Импортируем картинку в редактор как исходник. Нулевые расходы вообще на всё выходят.
Портировал возможность редактирования, вот видео. В отличие от стандартных редакторов с текстом - здесь возможны быстрые атомарные операции, не то что ваш текст. https://youtu.be/kTU7617RTvU Дальше начинаю реализацию буфера обмена и импорт/экспорт в картинку.
Вижу ты тоже напрочь ёбнутый к хуям, поэтому предлагаю прочитать хуеву тучу инфы, на самом деле, но, возможно, ты ничего от этого не потеряешь https://2ch.pm/ph/res/45231.html#60565 Собсна, отсюда вот.
>Удаляем в рандомном месте N символов юникода и сохраняем, потому что гадина кот попрыгал по клавиатуре, и можно плакать Твой редактор не умеет в отмену после сохранения? Вообще, задача автосейва с памятью решается проще, чем твой способ. А никаких других преимуществ у такого когда перед текстом нет. Текст - он для людей, в этом его основное преимущество.
>>879981 А как ты решаешь проблему - выделить среди скобочек нужный тебе уровень и вырезать? Наверняка ведь целишься? Меня такие вещи достали просто. Я такой кактус продолжать грызть не собираюсь.
>>879998 Путешествовать по фигурным скобкам тоже можно. Вообще редактор, парсящий текст на лету, может уметь все, что ты пожелаешь, включая автоматический контроль целостности AST (т.е. кот не сможет стереть скобку и похерить индентацию, редактор не даст, примерно так делал VB6, который громко ругался с алертом на синтаксической ошибке, помогая новичкам). Только при этом это будет текст - который и скопипастить можно, и в имейле, и диффами-грепами с ним работать. Т.е. для тебя текст - это недостаток, а программисты любят текст, холят и лелеют. Только
>>879995 Невероятное говнище, мне жаль что то о чём я пишу спутали с этим рассказом. Пойду лучше говна поем и запью его чем-нибудь. никогда не нравился пелевин, и сейчас ничего не изменилось. И да, я два раза только что прочитал это дерьмо. Ошибка на ошибке.
>>880001 2 раза, это значит я не реагирую на инфу эмоционально, а просто воспринимаю её и перерабатываю, чтобы понять что мне хотели донести. Чтения пелевина - автозашквар. 1 раз - т.к нихуя не понял. Второй раз - чтобы понять логику автора во время написания текста.
>>879999 >любят текст, холят и лелеют Я попытаюсь доказать что мой подход тоже имеет право жить(не замена тексту а альтернатива). Реализацией доказать а не словами. А пока, кто сомневается, можете подписаться на мой канал в ютюбе, чтобы первыми видеть прогресс. Пошёл изучать Cairo+Libpng.
>>880003 Так ты отдели йоба-концепцию редактора с автоиндентацией и проверкой целостности AST с концепцией хранения этого всего дела в виде обыкновенных С++-файлов. Тогда ты просто сделаешь очередной текстовый редактор. Кстати, о твоем подходе писал Страуструп в Дизайне и эволюции, но не взлетело.
>>880001 >>879995 >>879990 > всё с тобою ясно Эй ты, если ты там сначала увидел сходства с рассказом, а потом решил забить на всё хуй т.к тебе всё стало ясно и решил подкинуть мне доп инфы, т.к в этом рассказе могло быть для меня что-то охуенно интересное и новое - ты ошибаешься, там есть ещё инфа.
>>880004 >писал Страуструп в Дизайне и эволюции, но не взлетело Писать любой может. Тот-же да Винчи писал о танках и вертолётах, но ничего из этого не реализовал. Мне приятно что у такого великого была такая идея, если ты не врёшь. Короче пара дней и будет реализовано уже целых 2 транспортных кодировок - [a-p]+ и PNG картинка, . Попытаться стоит.
Как и обещал - реализовал импорт/экспорт в PNG. Теперь редактор завершён. Дальше я портирую компилятор. Вот демонстрация, не боимся, смотрим и оцениваем. https://youtu.be/ebaL1qqKCSc
Закрепил все транспорты через CRC32, чтобы никто не смог импортировать повреждённые данные, если это конечно не злобный буратино что всё ломает. Да я просто волшебник.
Добавлю удобное редактирование строк, автодополнение идентификаторов при редактировании, (библиотека префиксного взвешенного поиска слов реализована мной на Java, лишь портировать - пара минут). И исправлю проблему под линухами (некоторые клавиши не ловятся). Имя йоба-языка выбрано, и оно полностью отражает его суть. cxxtree
>>880004 >отдели йоба-концепцию редактора с автоиндентацией и проверкой >>880004 >хранение в виде обыкновенных С++-файлов >>880004 >сделаешь очередной текстовый редактор Того что язык может использовать библиотеки С/С++, а также генерирует файлы С++, уже достаточно.
>>881456 org-мод явно не подходит как формат хранения. Ведь дядя Вася 40 лет в погроммировании будет редактировать его через блокнот/nano/cat. Да и двачи убивают звёздочки, равно как и SO, если память не изменяет, воспринимают звёздочки как разметку bold.
Решил несовместимость клавиш под (Windows/Linux/Linux x11) путём неиспользования ctrl/shift/alt. Вместо них модификаторами стали backslash/slash/comma. И ещё 4 модификатора зарезервировано.
>Тебе понравилось как я запихнул binary stream в PNG ? Да всё понравилось, и это тоже. Продолжай.
олсо может будет интересно: https://habrahabr.ru/post/314062/ >>881356 >Идея далеко не нова как для всей борды, так и для /pr/ Благодарю за отчёт. Рад что ты поделился этой охуенной информацией. Сразу видно полезного человека.
>>881861 Теперь не какашка. Теперь портирую код автодополнения слов, и будет редактор угадывать слова круче чем Акинатор, с полуслова, а иногда и с 2х букв. Как это делает мой редактор, написанный на Java.
Придётся наверное оптимизировать время компиляции, а то 7 секунд уже напрягают меня.
Чювак, не знаю надо тебе это или нет, но вдруг идея не хуйня. В общем ты тут предлагал делать скрины с кодом. А ведь на основе этого говна можно реализовать все undo-redo, причём многослойное и понятное каки вдруг понял что хуйню спизданул
Раз у тебя всё в виде деревьев с листьями-хуистьями, то и undo-redo должно быть тоже в виде деревьев, разве нет?
>>881914 >Раз у тебя всё в виде деревьев с листьями-хуистьями, то и undo-redo должно быть тоже в виде деревьев, разве нет? Я понимаю о чём ты - не поехавший ты. Типа не линейный буффер отката/возврата изменеий, а с ветвлениями, чтобы не затирать старые откаты новыми. Я реализую эту хню после автодополнения, просто-же.
Пример: в простой реализации AAAA <<< BBB = ABBB А при ветвящемся - ни один из redo action не будет затёрт, а будет создаваться новая ветка. И в некоторых случаях будет всплывать окошко с предложением выбора по которой именно ветке произвести Redo Ветвящийся Redo: AAAA <<< BBB =
>>882048 >кложа Да иди нахуй блядь, пусть с нуля пишет, чем на этом говне которое по 20 секунд хэлорорды запускает. Итак грейдлы с идеями всякие безальтернативно процессор греют.
ОП - зверь редкий, берегите, лелейте его. Прямо авангард грядущей новой парадигмы всего айти. Не, не как фон нейман конечно, и даже пока не линус торвальдс, но направление приложения усилий - точно в тренд. говнокодирам не понять.
ОП, подумай как будут делаться диффы твоих деревьев. Если из исходного дерева можно получить результат несколькими способами, то какой вариант отображать? Я считаю что в каждую ноду надо записывать UUID, чтобы можно было опознать ноду после перемещения/копирования со стековерфлоу. Ну и IPv6 адрес, всё-таки в век интернета вещей живём.
>>877112 > Некоторые погромисты часто не могут понять что именно это значит, кричат, дрыгают ногами, исходят пеной, обзываются. Я ничего не понял, поэтому, на всякий случай, изойду пеной и обзовусь. ОП, ты наркоман, штоле?
> 1. Стандартный подход - весь исходник это гигантская строка Что, простите?
> Удаляем в рандомном месте N символов юникода и сохраняем, потому что гадина кот попрыгал по клавиатуре, и можно плакать если уже не видна былая структура кода, и надо звать экспертов-археологов-криптоаналитиков, либо искать древнюю версию из бекапа. Мне кажется, кто-то еще не открыл для себя системы контроля версий. наче таких вопросов не возникало бы.
>>882345 >контроля версий Проблемы прицеливания по скобочкам эти ваши системы не решают. Упоротости diff'ов текстовых эти ваши системы не решают. Современные решения это полированные до нанометров медные топоры.
Портировать код с C# такая морока. Нет switch по строкам. Стараюсь выпилить код исключений - только по возврату ориентируюсь теперь. Я их теперь не очень люблю, они мне ещё в жаве надоели - на каждом шагу были.
За 2 дня истирания пальцев я портировал код транслятора. Мои родные 5к строчек кода снова в деле. https://youtu.be/3H9jsfXIGHs Этап 1/3 завершён на 99%. Второй этап - написание редактора/компилятора на самом-же этом языке. А третий этап - буду пилить на таком языке ту игру из /gd про роботов.
>>883758 >КОНТРОЛЬ ТИПОВ Целиком обрабатывается при помощи g++/clang++, при этом номер строки/символа конвертятся обратно в элемент-с-ошибкой и он выделяется в редакторе. А при запуске в режиме компиляция-only - элемент с ошибкой будет отрендерен в PNG / скопированв clipboard. Думаю возложить поиск ошибок например на cppcheck (я 3 раза слышал это слово) или другие анализаторы сорцов c++, так как будет пошустрее и приятнеее.
> числа ПАРАМЕТРОВ ОПЕРАТОРОВ бинарные и унарные операторы могут в это. При этом у меня есть stackable binary operators (picrelated), и non_stackable binary operators -- операторы сравнения такие, они не способны строиться в цепочку.
> ВЫБОР ФУНКЦИЙ И ОПЕРАТОРОВ ИЗ СПИСКА Новички все-равно не осилят такое, а профи помнят все названия типов/функций/переменных по памяти. Чрезмерное усложнение редактора.
Сейчас первоочередная задача - реализовать аналог #region из C#. Регионы будут сворачиваться по умолчанию и содержать код, который не очень-то-и-хочется оформлять в отдельную функцию.
cppcheck, гаумно. Предыдущий вариант рулит. Всё ещё не портировал участок кода, отвечающий за транслирование line:column в ссылку на элемент в редакторе и выделение его в редакторе.
Оп, поведай чтоль про себя. Попробую вангануть на основании: Не фанат говна и жира, присущего двачу. Родным языком владеешь умело. Дохуя индивидуалист в хорошем смысле. Упорство и продуманный выбор того, что ты делаешь. Делаешь приблуду, которая не принесёт тебе особо пользы как продукт, но которая обладает образовательной ценностью. вангую: Не работаешь и не учишься. Ценишь своё время. Имеешь дальносрочные планы. Намерен стать делачом-архитектором, видящим всю хуйню от байткода/машины до фреймворков. Дрочишь на разнообразие доступных взору уровней абстракции, тщательно относишься к выстраиванию всех уровней. Интересуешься лингвистикой. Чтишь классику. Твое самолюбие было чем-то серьезно задето за последний год. Сублимируешь - нет тян. Самокритика работает. Не повзрослел окончательно. Здесь твои друзья.
центр-север-запад рф. крупный город аля дц. 22 годка. Очки. учился не в топ вузе, возможно дропнул. имеешь опыт работы джуном или системщиком. всё возможно мимо. но стало любопытно.
>>884051 ТЫ НЕ ОТМАЗЫВАЙСЯ БЕЗ ЕТИХ ФУНКЦИЯ ТВОЯ ХУЕТА НИКОМУ НЕ НУЖНА И КОНТРОЛЬ ТИПОВ НУЖЕН НЕ ПРИ КОМПИЛЯЦИИ А ПРИ ВВОДЕ ПРОГРАММЫ, ЧТОБ НЕ ДАВАЛА ВЫБРАТЬ НЕПОДХОДЯЩИЕ ПО ТИПУ ПЕРЕМЕННЫ/ФУНКЦИИ ИЗ СПИСКА
>>884064 > без этих кококо-функций редактор не нужен вон люди в nano редактируют тексты, норм программисту такие вспомогатели не нужны, он всё помнит, а если забыл - то посмотрит куда надо и вспомнит.
КОРОЧЕ ТЫ ЛОШАРА И НЕ СПРАВИШСЯ ТАКА ИДЕЯ У МЕНЯ С 1999 ГОДА ИЛИ РАНЬШЕ ВИТАЕТ НО ЛЕНЬ ----- ЧТОБЫ РЕДАКТОР ИСХОДНИКА НЕ ПОЗВОЛЯЛ ДЕЛАТЬ СИНТАКСИЧЕСКИЕ ОШИБКИ, ВСЕ ВЫБИРАЕТСЯ ИЗ СПИСКОВ, ЕСЛИ НЕТ В СПИСКЕ НАЖИМАЕШ ИНСЕРТ, ВВОДИШ ИМЯ И СОЗДАЕТСЯ ПУСТАЯ ФУНКЦИЯ/ОБЯВЛЯЕТСЯ ПЕРЕМЕННАЯ С НУЖНЫМ ТИПОМ
>>884077 >НЕ ЗНАЕШ КАК ДЕЛАТЬ ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ Знаю, но не хочу эти кнопочки/шрифты/окна/иконки, а вот curses это просто идеально, и всюду запустится.
Через неделю ожидается self-hosting, ибо добавил ещё и лямбды и константные методы/операторы. Сравните picrelated и трансляцию в c++http://pastebin.com/TmaqLYsA
>>884290 >хоть и небольшая Зато окружающие обо мне мнение имеют, будто не соображаю. сука обидно. Но зато всё время только моё, не нужно впахивать на работах :) Не нужно надрывать спину, либо говнокодить
>>884370 > lisp А для С++ такой режим где? Для лиспа ясное дело это реализовано, ведь там тоже примитивное дерево, без инфиксных и постфиксных операторов и т.д.
Опушка, глянь плес - >>884347 Если не глянул. Было бы круто еслиб ты каким-то образом добавил поддержку, просто тупо возможность делать в итоге ноды как там. Или просто напиши что это хуйня и ты шлёшь меня нахуй, например.
>>884648 >на реальных примерах программа в таком виде будет занимать в 3-4 раза больше экранного места по сравнению с текстом. Это факт. Всё превратится в итоге в полнейший неповоротливый пиздец в котором хуй пойми как ориентироваться, если не придумать как что упорядочить. Сделать своего рода микроуровень - где виден код как тех пикчах, и макроуровень хуй знает как устроеный.
>>884653 Ничего он не завершает. #ifdef #else #endif работает как тернарный оператор, и одновременно как "скобки". Логично было бы его представить как #if_def condition true_code false_code или #if_def condition #true true_code #false false_code у тебя #if_def condition true_code #false false_code и это нелогично.
>>884733 ТОКА В ТВОЕЙ ГНИЛОЙ ИНТЕРПРЕТАЦИИ НА САМОМ ДЕЛЕ ЕСТЬ В ВАРИАНТА IF С РАЗНЫМ ЧИСЛОМ ПАРАМЕТРОВ И ДЕЛАЙ КАК Я ГОВОРЮ- ЧТОБ ВСЕ ВЫБИРАЛОСЬ ИЗ СПИСКОВ ДЛЯ ВЫРОЖЕНИЙ СДЕЛАЙ ОТДЕЛЬНЫЙ РЕДАКТОР СО СКОБКАМИ И РАЗ ТАКОЙ НЕУМЕХА ОСВОЙ УЖЕ 1С, 1С ЕТО САМЫЙ ЛУЧШИЙ ФРЕЙМВОРК ДЛЯ ДЕБИЛОВ
>>884549 >In computer science, an abstract syntax tree (AST), or just syntax tree, is a tree representation of the abstract syntactic structure of source code written in a programming language. Each node of the tree denotes a construct occurring in the source code. The syntax is "abstract" in not representing every detail appearing in the real syntax. For instance, grouping parentheses are implicit in the tree structure, and a syntactic construct like an if-condition-then expression may be denoted by means of a single node with three branches. Ну да, да. Зашивайся.
>>884556 Ну вообще эта статья которая валидирует твой подход, ну ок. Твоя "демонстрация" это тупой редактор AST без ограничений и семантического наполнения (поэтому у тебя круглые скобочки вокруг каждого выражения в результате). Вот когда будет импорт плюсов в твое дерево и будешь кукарекать.
>>884561 А у тебя какое дерево? Твое дерево можно написать на лиспе и оно точно так же будет генерировать тот же самый код на плюсах (только код на лиспе проще)
>>884766 >Я эту пикчу видел 100 раз уже. Моя икона. Восслався абстрактное дерево и префиксные операторы, Аминь.
Добавил интеграцию редактора и типов файла в проводник-Шиндовс, теперь открываю файлы .cxt одиночным кликом мышки. Приступаю к портированию на cxxtree моей библиотеки ARRAY - замена убогому std::vector.
>>884767 >тупой редактор AST Но зато компелятор супер умный - способен автоматом сгенерировать хедеры и исходник для любой вложенности namespase'ов, шаблонов, автоматом форвардно декларит всё что только возможно в хедеры.
>>884771 >Я эту пикчу видел 100 раз уже. Моя икона. Восслався абстрактное дерево и префиксные операторы, Аминь. То есть по существу не будет аргументов? В чем отличие твоего дерева от картинки? Вот вот. Зашивайся.
>>884775 >Но зато компелятор супер умный - способен автоматом сгенерировать хедеры и исходник для любой вложенности namespase'ов, шаблонов, автоматом форвардно декларит всё что только возможно в хедеры. Ум уровня препроцессора, ок.
>>884874 >Вот хоть убей Набирая текст в обычном редакторе, я ощущаю будто мешу пальцами символы, в жтом-же редакторе ощущается свобода действий, но без возможности ошибиться, как в утопии.
>>884733 Часто возникает нужда поменять местами иф и элс ветки. Если они выделены в ноды то это элементарно - переставить две ноды. Когда контент ифа вывален в кучу рядом с нодой элса это нифига не элементарно.
>>884919 Спасибо, но нет. Я хочу чтобы в первом блоке была основная логика, а в элсе обработка исключительных, граничных или просто более редких ситуаций.
>>884980 >блоке была основная логика А как это у тебя внезапно меняются местами блок основных действий и исключительныъх? https://youtu.be/GUTp9x1kGZs 7 элементарных операций чтобы поменять их местами
в smalltalk у вас есть исполняемый образ программы (если говорить упрощенно) вы к нему можете подсоединится, средствами же smalltalk посмотреть какие объекты у вас там сейчас живут, что исполняется и прочее, те можете произвести интроспекцию кода средствами самого языка но вы можете произвести не только интроспекцию, но и произвести "горячую" замену части кода не выгружая исполняемый образ программы то же самое (но с большими приседаниями) можно делать и в последних версиях явы и сишарпа то же самое можно делать и в лиспе, но там есть проблема с макросами, которые могут порушить возможность интроспекции и горячей замены кода так же, например, не сложно имея эти следства написать какой-то визуализатор, показывающий что именно происходит с исполняемым образом программы - какие объекты там крутятся, что в конкретный момент выполняется, только это никому особо не нужно так чтож хз что оп придумывает всем этим техникам уж лет сорок, только раньше эти возможности были не доступны массовому программисту (тупо что лисп, что смаллтолк и прочее подобное работали на машинах что только в крупном бизнесе или в университетах стояли) а сейчас это может запускать любой бомж с у которого core2duo в системе крутится поэтому все это и в мейфрейме (считай явка и сишарп) появилось
вообще все что имеет какую-то виртуальную машину в основе реализации (пофиг как она сделана) может иметь реализацию тех или иных возможностей рефлексии так виртуальная машина позволяет отойти от современной архитектуры компьютера "код-данные"
ну а те языки, что производят машинный код (сишка, кресты, фортран, паскаль семейство и прочее) там интроспекцию делают руками например, какие-то возможности интроспекции прикручены к обеим объектным системам - и к com на винде, и к gtk на линуксе ну а горячая замена кода организуется посредством динамически загружаемых модулей
>>885043 >как это Подгоняю скопированный код под свои нужды. Сценарий может быть и другим - просто вытащить содержимое ифа наружу. Суть в том, что тело ифа сложно выделить если оно не отдельная нода. Надо выбирать всё внутри ифа кроме первой ноды (и последней если есть else).
>>885049 >не сложно имея эти следства написать какой-то визуализатор >этим техникам уж лет сорок А чому оно вообще не распространено тогда и этих "ненужных" визуализаторов нет?
ОП, у меня вопрос. А как реализовано будет представление твоих исходников вне твоей иде? Вот, допустим, я захочу другу скинуть кусок кода, как это сделать? Сгенерировать картинку что ли?
И вопрос номер 2. Как без своей иде ты поймешь, что же такого в исходнике? По строке aasdasdafafasdfdafdasfa ты сможешь понять, что она делает?
Вопрос номер 3. Как я понял, для просмотра на сторонних сайтов ты генерируешь картинку? А теперь скажи, как просмотреть большой исходник? Будешь генерировать картинку размеров 10000х1000 рх?
>>885245 >10000х1000 рх Я же в треде выложил видео про текстовую транспортную кодировку. Как вариант использовать отрисовщик на JS на сайте/сайтах, тоже писал в треде. Но это всё хуита. Язык просто экспериментальный.
Не задавать вопросы, а просто смотреть мои видео на Youtube с демонстрацией этого хуёвого экспериментального языка. И подписываемся на канал шизика долюлоёба у которого вагоны свободного времени на этот мазохизм.
>>885088 >Подгоняю скопированный код под свои нужды Подобные операции я например никогда не выполняю. Если я скопировал чужой код - я оставляю его с минимальными правками, ибо нехуй. он должен быть максимально неизменным, и с ссылкой на оригинал, ибо нехуй.
>>884809 >контринтуитивны Ну да, а конкатенация как на пике интуитивна? >>884812 Образование нужно для того чтобы ты понимал что тебе говорят другие. Вот я говорю AST и образованный человек меня поймет, а ты чурбан споришь что у тебя не AST, ссылаешься на какие то префиксные операторы, хотя они не причем в этом представлении. По существу против определения "редактор AST" есть чего возразить? >>884814 >Я не понимаю твоего диалекта. Для этого и нужно образование, лел. >>884815 >bulb_sort И для этого тоже нужно образование. Что за bulb_sort? Почему вдруг надо заменять то чего нет? map и set туповатый, но ты уверен что твой лучше? Код то когда выложишь? >>885122 >init, cond, stat, inc >КЛЮЧЕВЫЕ СЛОВА НИНУЖНЫ >>885147 >А чому А тому что ненужно? >>885368 Нахуя? Самое интересное это общение с шизиком-долбоебом. Собственно поделка интереса не представляет, к тому же исходников нет, поиграться нельзя. >>885371 Проиграл.
Самая лучшая (моя) реализация бинарного поиска портирована в cxxtree. Исправил недочёт в классе ARRAY - теперь он не умирает при удалении элементов в количестве 0. Дальше перевожу SET и MAP.
>>885615 > нет аллокаторов, поддержки move-семантики, константных и реверс-итераторов, .at, итератор не поддерживает арифметику указателей (а еще == и ->), не поддерживает трейты итераторов, нет метода возвращающего Enumerator, нет полноценного свопа и т.д. > ЗАТО УКАЗАТЕЛЬ НАПОВЕРХНОСТИ! НЕВЫДАЕТ НЕПОНЯТНЫЕ АШИПКИ! Проиграл. >>885609 60-е звонили, хотят свой ассемблер обратно.
Ну и да, запили уже сворачиваемые ветки, невозможно читать вертикальную кашу.
К зоопарку циклов for пришлось добавить for range. Указываем имя счётчика, начальное значение, конечное(исключительное) значение, и шаг. Значительно уменьшает кол-во писанины.
>>885718 Малаца, скоро до питона дойдешь. >>885685 Ах, ты переписываешь весь STL. Ну ок. Костыли и велосипеды. >>885769 Воу, у тебя и SET и MAP на сортированных массивах.
>>886072 >рано. Уже сейчас видно что ты не тем занят. >>886082 step нужен, просто надо делать его опциональным. >>886075 >>886102 Велосипедить простые контейнеры конечно весело, но вместо этого занялся бы портированием своей приблуды. >>886105 Проиграл. Зачем тебе пузырьковая сортировка, поехавший? >>886123 Уже не читается, пости сгенерированный код чтобы понять хоть что то в твоей кашице.
>>882652 >>контроля версий > Проблемы прицеливания по скобочкам эти ваши системы не решают. Упоротости diff'ов текстовых эти ваши системы не решают. Да, не решают. Потому что они решают гораздо более важные проблемы. И есть один нюанс: не знаю, насколько твоя система поможет с упоротыми диффами, но она зафакапит работу с контролем версий чуть менее, чем полностью, поэтому в промышленном программировании (а не в лабах) ей никто пользоваться не будет. /thread
>>886160 Портирование как раз хороший повод выкинуть все свое говно и использовать стандартное, которое лучше. А ты еще ни строчки кода который решает твою задачу не портировал. >>886159 Потому что ты тут кукарекал за избавление от текстовых диффов. Ну и хуле? Слился? >>886164 Очередное говно. Ты хоть тестишь свои поделия? У тебя mul не меняется при чтении. forever хотя размер известен, умножения/деления вместо сдвигов, 128 вместо православного 0x80. Блядь, зачем я мечу бисер перед свиньями?
>>886171 > умножения/деления вместо сдвигов Как будто остались еще компиляторы, которые об этом вместо тебя не подумают (и не только для степеней двойки). Писать умножение/деление сдвигами допустимо, но выпендриваться этим бессмысленно.
>>886280 А я и не выпендриваюсь. Сдвиги тут передают как раз семантику того что ты делаешь - СДВИГАЕШЬ блять байты. Нихуя не умножаешь ведь. Вот быстро, чтобы поставить в третий байт на сколько надо умножить? А? А сдвинуть ясно на сколько - 8 * 3. >>886282 В матлаб не играл никода? >>886306 Два чаю.
>>886200 >обещает селф-хостед к концу недели >за 4 дня портирует 1,5 маняструктуры, двоичный поиск и БУЛБ-сорт >всё идёт как по маслу Ну может и так, удачи. >для себя Зачем тогда пришел?
задумчиво смотрит на происходящее ожидая когда ОП влетит в dangling-else и как начнёт решать проблему двусмысленных грамматик грустно переводит взгляд с ОПа на dragon book и обратно
>>886395 >У ОПа нет парсера, ОП великодушно делегирует задачу парсинга программисту, предоставляя ему возможность строить самому AST. Этак мы до мышей дотрахаемся и до IL с ассемблером докатимся.
>>886401 Кстати, я правильно понимаю, что вся война из-за проблем с индентацией (с которой даже несчастный vim справится, при наличии прямых рук, не говоря уже о полноценных IDE), и «проблем» с diff-ом? В таком случае ОП основательно подошёл к проблеме, по-инженерному. К чертям текст — хуярим узлы и листья в AST. Зато нет скобочек.
>>878342 ОП, дарю идею: краулер, который грабит сниппеты с SO, pastebin, govnokod.ru и встраивает путём сериализации/десериализации фрагменты кода в твою структуру. Возможно таким обезьяньим подходом и решим одну из NP проблем. Или напишем виндоус 11.
>>886406 Ну на самом деле навигация и редактирование проще когда редактор понимает структуру кода. Можно забыть об использовании мышки. Посмотри гифки из https://github.com/chrisdone/structured-haskell-mode Это хорошая вещь. Прикреплять айдишники к нодам тоже в общем-то хорошая идея, позволяющая трекать перемещения кода точно, а не приблизительно по расстоянию Левенштейна. Но AST слишком многословен. Много строк - мало кода на экране, нужно много скроллить и очень много бегать глазами по коду чтобы отследить поток исполнения. Из этого можно было бы сделать промежуточное представление для умных макроподстановок, если бы это был не С++, в котором уже есть глупые макроподстановки на уровне препроцессора, которые делают невозможным импорт произвольного существующего кода в это представление. Ну и ещё конечно смешно, что ОП придумывает очередной лисп, ругая при этом сам лисп.
>>886441 Насчет айдишников не соглашусь, тогда эквивалентные в плане исходного кода перестановки будут приводить к неэквивалентным деревьям. Лучше привязываться к типу/содержимому ноды используя например хеш (как в гите).
>>886448 Ну представь, мы перенесли какую-то проверку из одного метода в другой, а потом добавили ещё одну строку кода в тело ифа. Хеши похерились добавленем строки, но по айдишникам можно понять откуда этот иф родом. Про неэквивалентные деревья не совсем понял. По-моему неэквивалентность это хорошо, это результат того что у нас теперь есть больше информации. Для ясности: айдишники не обязательно держать в самом коде. Они могут лежать в соседнем файле в виде дерева, повторяющего структуру кода, или же они могут существовать только в памяти IDE во время редактирования, во втором случае ИДЕ должна при коммите генерить пояснения что произошло. Типа file1.method1.method_body[10] -> file1.method20.method_body[[0] file1.method20.method_body[0].if_body[5] += 'print i;' ...
>>886461 >можно понять откуда этот иф родом. Это так. Под неэквивалентными я имел ввиду что генерящие один и тот же код деревья будут неэквивалентны (сложно мержить), но это не очень страшно по сравнению с плюсами от хранения истории. >file1.method1.method_body[10] -> file1.method20.method_body[[0] >file1.method20.method_body[0].if_body[5] += 'print i;' Годная идея. В идеале чтобы весь воркфлоу работал через такую хуергу. Начинаем с пустого листа и дельтами добиваем до текущего состояния. В результате вся история хранится. Гит ненужен. Надо подумать над мержами токма чуток. Если место кончилось - хоячим снапшот.
Окей, как упоротый наркоман, властью данной мне интернетом, могу пояснить.
Человеческое восприятие - полнейшее говно. Оно не стоит и ломаного гроша. Именно из-за того что Опу было неудобно/неприятно воспринимать/писать скобочки - он начал шлюшить свой собственный блекджек. Сама задача, по сути, должна поменяться, имхо, на хотя бы теоретическое обоснование самой простейшей модели восприятия, оптимизированой с точки зрения кодинга, не обязательно в итоге являющейся деревьями.
То есть, я имею ввиду. Самая главная суть лежит в том что человек не может одновременно воспринимать кучу рандомных данных, он может уцепиться только в совсем небольшую их кучку, кучку, которую он чётко может воспринять. вот тут >>884637>>884644>>884338 я напомнил опу про ноды, где всё охуенно на вид и даже почти понятно
Например. Нам известны латинские цифры, они появились хуй знает когда, когда люди поняли что IIII и IIIII и IIIIIIIIIIIIIIIIIIIIIIII воспринимать ну вообще нихуя не удобно (а ведь это полное говно, которое ничего не стоит и проще которого только мой хуй на блюде), и надо вводить определённые символы IV V X, для удобства восприятия.
То есть, мало того, что "код пишется не для машин, а для людей", но и сама концепция должна полностью нахуй измениться.
>>886573 Тебе тащемта не нужны. Они нужны на этапе вкатывания в понимание структуры кода и вообще архитектуры.
обоснование тому банально - на визуализированной схеме ты явно видишь связи. смотришь просто в код - и твоему мозгу эти связи приходится выстраивать самому. и если опыта не дохуя, то выстраиваются они медленно и мучитльно. у меня по крайней мере так. может ты овердохуя пездатый визуализатор, а может тебе просто похуй на как можно более широкое видение структры.
когда читаешь текст - будь то худлит или какие-то формальные документы типа законов или тз - у меня например структура воображением рисуется и сохраняется в оперативке на автомате. а вот с кодом такого нихуя нет, особенно если он полон указателей или данных разного типа. и я говорю только о случае когда код нормас продуман. а если это говнокод? там вообще хуй структру выцепишь за разумное время. а без нее думать как то не айс. При этом конечно никто не отменял возможности кодить и решать проблемы без какой-либо картинки в голове. чисто в линейном режиме.
ваще этот нынешний текстовый вод клавиатурой и мышкой у меня создает впечатление какого-то тухлого атавизма времен перфокарт. тоже самое касается представления и кода и данных на мониторе - либо текст либо в лучшем случае плоский граф/дерево.
получаетя джамшут на стройке со стаместкой и дрелью в руке осуществляет информационно более насыщенные действия бОльшей размерности. а кодир(будучи ~100 мерной вектор-функцией как и любое животное тащемта) сидит и долбит блять линейную последовательность действий и считывает двумерный массив пикселей. вангую скорую смену парадигмы погромирования путем реализации новых пездатых языков и/или инструментов в vr например. ну или хотя бы просто станет популярной идея увеличения размерности вектора потока ввода.
Исправил много проблем и вкинул 200 строк говнокода. Редактор уже умеет прочитать и сохранить собчтвенный исходник. Дальше портирую отрисовку дерева на экране. Пруфы.
>>886782 тащемта нихуя не понятно вообще сложно слишком высокий запороговый контраст, который уже вредит восприятию ТВоему не вредит, ибо ты уже адаптировался привык и к цветам и к обозначениям а мне например сейчас проще блокнот читать чем твой кислотный приход исправляй, анон, я ж фидбек не просто так даю
поясню такое ощущение что ты спецом делаешь код нечитаемым за счет тщательного подбора цветов гляди пикрил именно гляди, я сейчас тру за зрительное поле
эти 2 цвета физиологически друг другу противоположны. это значит, что когда я гляжу на "кирпичик" в этом зелёно-розовом столбе, кирпичики на периферии зрения (т.е. все те что выше и ниже) забивают редко-посаженные рецепторы сетчатки. как только я хоть немного двигаю взглядом после секундной остановки зрения на зеленом или розовом слове - четко видно как начинает работать торможение в зрительной коре. хуево пояснил, но мб пикрил второй наведёт тебя на мысль.
>>886578 Ты прав, вся история развития языков програмирования (и не только) о декомпозиции - т.е. разбиении более сложной проблемы на мелкие, которые человек может охватить. Сначала были машииные коды, потом ассемблер, потом процедуры ну и так далее, каждый раз вводя более удобные способы описания обобщенных концепций. (Полная) визуализация современного ПО это как раз и будет то что ты описал как IIIIII. Поэтому никто не делает визуализатор вообще, а делают конкретные визуализаторы под свою задачу - call graph, flame graph, даже миникарта в sublime относится к этому.
>>886760 Для этого есть специальные обучающие визуализаторы + scratch тот же самый, да вообще все визуальное программирование. С визуальным программированием нет проблем на самом деле, кроме того что текст/речь это пока лучший (по соотошению универсальность/компактность) вариант ввода информации. Не согласен? Изобрази свой пост визуально. Если это говнокод то и визуально он будет выглядеть как намешанное говно, из которого ты точно так же не сможешь выцепить структуру(подсказка - ее нет, это же говнокод) Все люди достаточно хуевые визуализаторы, именно поэтому все так дрочат на модульный код, снижение зависимостей и локализацию контекста (и в частности на ФП)
>>886761 Гибсона начитался? Открую тебе страшную тайну - комплюктеры тупо выполняют линейную последовательность действий. Все остальное это человеческие заморочки которые нужно изъебнуться и засунуть в эту последовательность.
Прежде чем ванговать, напиши какие сигналы исходят из человека, которыми ты управлять собрался? Помни что нужно чтобы вводилось то что ты хочешь сознательно ввести а не то что ты подсознательно ввел. Чтобы это было +- одинаково для всех людей. Ну и чтобы это можно было на компе обрабатывать не особо напрягаясь.
>>886848 Ну, рецепторы это конечно несколько утрировано, но давай представим, что человек научился модифицировать нервную систему так, чтобы в ней как промежуточное звено появилось дополнительное устройство или система устройств, назовем это нейрохуйтой. При подключенной нейрохуете, если человека кольнуть иголкой в палец, то сигнал, прежде чем достигнуть головного мозга (или спинного, я тут без понятия, биологию почти нихуя не помню) будет проходить через нейрохуету. Более того, нейрохуета сможет сгенерировать такой же синал,. который дойдет куда надо. То есть, человек почувствует ту же боль, хотя палец не кололи. Возможно нужно будет раздрочить нервы пальца, чтобы имитировать боль, ок, нейрохуета будет делать это. Вот примерно в таком ключе нейрохуета сможет генерирооватть для нас звуки, вкусы, цвета...ну ты понел. Похуй, если нейрохуета будет размерами с cray titan, похуй если человека придется расхчерачить так, что к нормальной жизни он уже не вернется никогда. Главное начать и может когда-нибудь что-то получится. Это конечнно мои маняфантазии, но в свете того, что мы имеем какие-никакие нейропротезы, нейроимпланты уже сейчас, мне кажется что некоторые фантазии Гибсона, сестр Вачовски и т.д. могут вполне стать обыденностью когда-нибудь в будущем.
>>886901 Ну ок, то есть ты предлагаешь, чтобы кодер как нейротаджик фигачил мастерком в виртуальном доме, а нейрохуета транслировала в код? Какие профиты?
>>886914 Ну... Я не предлагал. Я вообще просто нахально влез, даже толком не читая ваш спор. Но представь, пусть не виртуальный мастерок, но что-то, что упрощает процесс программирования. Тогда профит (и недостатки) будут примерно такие же, как у высокоуровневых языков перед низкоуровненвыми. А еще представь, ты можешь ощущать себя где то в попен спейсе фейсбука, а на самом деле находишься в своей проперженой комнате. То есть ты типа как на удаленке, а вроде и нет.
>>886761 Скорость написания кода очень редко упирается в скорость набора текста. И по-моему необходимость что-то делать руками только улучшает самочуствие программиста. Человек не создан быть неподвижной статуей.
>>886823 >комплюктеры тупо выполняют линейную последовательность действий. ты не понел. линейная да, но на масштабах времени человеческого восприятия этой линейности нету - у тебя одновременно могут работать сотни процессов. да хули - монитор тоже линейную последовательность пикселей выдает - видел как развёртка работает? однако мы воприинимаем изменение дохуя размерного вектора нашего монитора. врубаешься?
>напиши какие сигналы исходят из человека, которыми ты управлять собрался? ёбич. ты когда живёшь и делаешь что угодно - твоя центральная нервная система в параллельном режиме управляет овер 100 девайсами - твоими мышцами. делая что угодно (кроме кодинга разве что) ты одновременно задействуешь кучу мышц. водитель маршрутки параллельно работает двумя руками, глазами, спиной, ногами. машину водил нет? знаешь почему блондинки водят хуево? у них мозг блять убогий и не может в паралелльность элементарную - типа СЛОЖНА одновременно и смотреть, и скорости переключать,и педали жать и руль крутить.
ЕЩЕ раз - при игре в компьютерную игру ты параллельно управляешь мышой и клавой - тут хотя бы двумерный вектор управляющий (не считая глаз) кодишь - одномерный вектор. а де-факто человек может дохуя распараллелиться и подавать сигналы на кучу мышц одновременно. >водилось то что ты хочешь сознательно ввести а не то что ты подсознательно ввел. я печатаю например подсознательно, т.е. никогда не слежу за буквами конкретными и даже словами. есть мысль а далее подсознание это уже в слова переводит с помощью рук на автомате. кодят точно также на подсознании(если конечно речь не идет об 10 словах в минуту). +вообще говоря граница между сознательным и подсознательным действием лежит в области, где ты можешь выбирать 1 действие 2-3-4 раза в секунду максимум.
>>886823 не ебу кто такой гибсон. просто смотрю на ситуацию с точки зрения здравого смысла, с точки зрения теории управления, инженерной психологии.
еще раз вкури мысль - с позиции математики/физики человека(точнее его ЦНС) можно описать как систему приема-передачи информации и измерить все соответствующие величины. включая размерность ввода-вывода. иными словами ЦНС это вектор-функция. иди чтоли википедию почитай раз не знаком с математикой базовой. я серьезно.
>>886901 ну и зачем твоя эта нейрохуита нужна? это как раз из серии начитался фантастики. ничего этого не нужно.
зачем генерировать какие-то цвета звуки если блять у нас есть глаза и уши и вполне туда нагенерированные колонками и монитором цвета и звуки норм залетают? АА?
>>887025 тут согласен,но я и не имел в виду что надо без движения вводить код. наоборот было бы пиздато если бы ты мог одеть например ВР-обвес в виде датчиков (эмг, imu), нацепить еще например утяжелителей и ебашить крутиться в некой виртуальной среде, таким образом осуществляя последовательность выборов символов ввода. уверен такое уже есть на стадии промо либо скоро появится.
>>887035 Ну и зачем автомобили нужны, когда у нас есть лошади и они вполне могут перевезти нас из одной точки в другую. Это как раз из серии фантастики - начитался про свои самодвижущиеся повозки и бредит. Ничего этого не нужно.
к тому же блять причем тут "станет обыденностью" ? ясен хуй появятся и нейроимпланты и прочая кибердичь. вопрос в другом - ТЫ конкретно о чем и зачем написал?
>>886914 профит наномастерка - не знаю, но нейротаджик может стать более эффективным творцом программных структур например. обычный кодер-таджик (как и любой кодер) работает с частотой несколько герц - выбирает в секунду несколько символов из ~50штук. Дальше из этих 100 штук символов он конструирует выражения. различных видов токенов в среднем исходнике тоже порядка 100 штук. несколько бит в секунду. + памяти - под несколько десятков байт (ибо кодер помнит не отдельные буквы а более абстрактные структуры)
и всё это дискретная дичь. а вот возьмем обычного например футболиста или дирижёра и прикинем. он (его ЦНС) тоже имеет некий "вывод" - последовательность мышечных сокращений для перемещения его туловища и взаимодействия с мячом. при том в рамках игры динамично сменяют друг друга тысячи видов ситуаций. движения выбираются не дискретно (напряг мышцу 1, не напряг - 0), а область значений каждого канала мышечного - непрерывный отрезок. всё это охуенно параллелиться. +нужно принимать во внимание действия других двух десятков таких же акторов. при том футболист жёстко привязан ко "времени выполнения", и не может включить дебаг/замедление времени, у него нет брейкпоинтов. он "пишет" интерактивный код, моментально получая вывод каждые 100мс грубо говоря (у него ведь те же единицы герц). т.е. пространство выбора действий и скорость этого выбора у спортсмена ннамного выше, а пространство объектов - лишь немногим меньше, чем у кодера. но это пространсто объектов гораздо динамичнее.
тащемта я понимаю что это всё выглядит хуета для тех кто не привык сам думать и прикидывать математикой то, что обычно не прикидывается.
>>886794 Тупо сделать фон серее и всё, или возможность цвета/шрифты менять, каждый заменит как хочет.
>>886897 Невероятную хуйню написал. Давай, научись единым взглядом читать рандомное количество палочек IIIIIIIIIIIII, сразу причём, я на тебя посмотрю. IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
>>886761 >>886810 Посоны, а видите же эти кнопки дополнительные с разметкой? Например, в математике, когда пилят длинные уравнения, неудобную длинную ебаторию берут и тупо уравнивают с рандомным символом. Почему бы не запилить просто клаву с особо ёбнутыми символами, и всё? Да хотяб бы виртуальную. И получится очередной китайский
>>887128 То есть эта прога позволяла бы быстро оперативно создать рандомные кнопки на вирт клаве, которые бы печатали рандомное дерьмо по клику, например [sdelat-zaebis-chtob-ohooyenno-bilo-ebana-vnature-sukablyat] [/sdelat-zaebis-chtob-ohooyenno-bilo-ebana-vnature-sukablyat] И чтоб на самом мониторе всё связанное с этим тоже заменялось на предложенную срань, т.е изначальный текст оставался бы таким же.
>>886794 >цвета Моя программа не генерирует цветов - используятся лишь цвета из палитры терминала. Моя программа говорит "рисую красным" - и терминал смотрит что у него в палитре за красный цвет - там на деле может оказаться как розовый так и коричневый.
теперь частично-портированый редактор могёт отобразить свой исходник. Пара скринов результата и линковки. Испаравил баг моего for-range и одну строчку пропустил при портировании BeansRendererAbstract.
>>886921 >что-то, что упрощает процесс программирования. ИТТ пытаюсь выяснить что это такое. Пока слишком абстрактные мысли. >>887025 >Скорость написания кода очень редко упирается в скорость набора текста this >>887031 >врубаешься? Врубаюсь, но все равно не понимаю к чему это. >твоя центральная нервная система в параллельном режиме управляет Ты забываешь что система с такими возможностями дана тебе б-гом/эвол-цией. Вспомни как сам первый раз за руль сел. Дохуя параллелил? Чтобы выработать эту параллельность нужно обучить свою систему. Дети вон вообще нихуя не умеют, чтобы научится самым простым вещам вроде подобрать бумажку они долго задротят. Еще ты забываешь что в ЦНС разные части отвечают за разные органы/системы, это не один еба-процессор, а если проводить аналогии куча контроллеров, многие из которых заточены под конкретные функции и не перепрошиваются. Потрогай например горячую кастрюлю - охуеешь. И в целом ЦНС заточен на то чтобы ты бегал/жрал/трахался, кодерство это чуждая человеку деятельность, чтобы сделать homo-coderus тебе придется перепилить ЦНС чуть более чем полностью. Это дело не ближайшего будущего, так что давай обсуждать не маняфантазии, а то что можно сделать сегодня, ок? >у них мозг блять убогий Нахуй отсюда со своим гнилым шовинизмом. >я печатаю например подсознательно, т.е. никогда не слежу за буквами конкретными и даже словами. есть мысль а далее подсознание это уже в слова переводит с помощью рук на автомате. Это как раз следствие того что ты думаешь на языке, то что ты выучил язык (гугли кстати что ты проебал пока учил язык)
>>887033 >не ебу кто такой гибсон. Уильям Гибсон, почитай - тебе понравится. >можно описать как систему приема-передачи информации и измерить все соответствующие величины. включая размерность ввода-вывода. иными словами ЦНС это вектор-функция. Можно, и? Я конкретно спрашивал какие элементы этого вектора использовать будешь? Как квантифицировать будешь? Как семантически наполнять будешь? Ты чо, математик из анекдота? "Решение существует" нахуй?
>>887043 Есть такое, например когда будильник ставишь на телефоне, надо барабаны с цифрами крутить (но не барабанов ни цифр нет, и не крутишь ты нихуя, это виртуальная среда в чистом виде). Но ты сам понимаешь что это ущербно. Пока клаватура выигрывает.
>>887078 >работает с частотой несколько герц А Пикассо с какой частотой работал? Ну епть, ты взялся квантифицировать единицу работы кодера, это не совсем корректно. Там где нужно нахуярить много простого кода давно есть кодогенераторы, те же ЯП высокого уровня. Сама же задача программирования до сих пор не формализована, есть какие то еба эвристики вроде RUP, TDD, есть рекомендации для отдельных областей, есть еба генераторы новых алгоритмов на базе нейронок и прочее, но на самом деле эта задача пока не решена. >футболист Использует прошивочку от матушки природы. В тех немногих местах, где нужно подумать головой (тактика, оценка ситуации) часто лажает. Пространство выбора - достаточно узкое: бежать туда, бежать сюда, передать пас, обвести, принять пас и т.п. Пространство действий - бег, повороты, удары - задрачиваются на тренировках и их не так много разных. >дирижер Хз как он работает, но выглядит не сложнее барабанщика. Олсо читаешь хардингуша? Он неоднократно говорил что в бою все на автоматизме, на любую ситуацию нужна мнгновенная реакция, которую задрачивают постоянными тренировками. Олсо почитай сирлина, он хорошо поясняет как работают мозги людей в файтингах - грубо говоря ты не параллельно обрабатываешь кучу ситуаций, а предсказываешь как поведет себя противник и просто ждешь одного момента чтоб ВЬЕБАТЬ. >пространство выбора действий и скорость этого выбора у спортсмена ннамного выше, а пространство объектов - лишь немногим меньше, чем у кодера. но это пространсто объектов гораздо динамичнее. Обосрал так обосрал, пространство объектов на порядок меньше, причем все объекты изучены и известны заранее. Пространство выбора действий я уже пояснил выше. Скорость тоже примерно одинаковая (сам писал про 1 Гц) и выбор действий не происходит мгновенно, если ты был готов среагировать - ты среагируешь, если задумался - проебал.
>>887470 >Сама же задача программирования до сих пор не формализована Ого. Интересно, многие ли "программисты" так заблуждаются на данный момент? Почему кстати? Как можно вкатиться в программирование и думать, что задача не формализовано ? Типа прогерство это такое йоба-искусство или эзотерическая магия?
>>887520 И тут ты такой вкатываешься с пруфами. Ну ка давай ссыль на формализацию ПРОЦЕССА ПРОГРАММИРОВАНИЯ. Это не йоба-искусство, но и не формальный процесс.
>>887470 >А Пикассо с какой частотой работал? причем тут он? гугли принципы работы мозга и ритмы. у ЦНС есть гармоники, и некоторым из них соответствует как раз предельная скорость принятия человеком решений. >Ну епть, ты взялся квантифицировать единицу работы кодера, это не совсем корректно. что не корректно то? квантифицируется любая часть всего того, что составляет работу кодера. назови хоть одно исключение. >Пространство выбора - достаточно узкое: бежать туда, бежать сюда, передать пас, обвести, принять пас и т.п в футбол не играл, да? ну сверху конечно (из камер) выглядит так. однако я говорил сейчас про пространство выбора на другом масштабе, капиш? >Хз как он работает с этого надо было начинать. >если ты был готов среагировать - ты среагируешь, если задумался - проебал. это разделение на 2 потока с урезанными методаи и отличает спеца от ньюфага. первый и думает и реагирует, пока работает. второму приходится подтупливать по жизни.
>хардингуша >Он неоднократно говорил что в бою про психологию боя надо не ноунеймов говорящих ртом читать а смотреть и слушать федю и тайсона. >просто ждешь одного момента чтоб ВЬЕБАТЬ. понятие "техника боя" тебе знакомо? сам в ебыч получал?
>>887533 сам подумаешь? какие есть метрики у программиста? код, заработок, объем принесенный социуму пользы (за счет новых удобных решений), прибыль компании(внедрение бизнес решений), близость решаемой к идеальному алгоритму (по сложности).
>>887536 >гармоники При чем тут частота принятия решений? Пикассо тут для того чтобы понять что не все можно в байтах и герцах посчитать. >что не корректно то? квантифицируется любая часть всего того, что составляет работу кодера. назови хоть одно исключение. Хоть три: анализ предметной области, формализация задачи, написание документации. Ну как квантифицируй мне процесс понимания что задача которую ты решаешь NP полная и выбора приближенного алгоритма для решения? Сколько байт, а омич? >в футбол не играл, да? ну сверху конечно (из камер) выглядит так. однако я говорил сейчас про пространство выбора на другом масштабе, капиш? Волейбол и баскет пойдет? Футбол не умею, потому что в детстве стоял на воротах и не научался точно передавать, лол. Много кукарекаешь, в шахматах тоже очень ограниченное пространство выбора, тем не менее стратегий там дохуя, то же и в футболе, несмотря на множество стратегий, конкретных действий, которые ты можешь предпринять не так уж и много и все они задрачиваются на тренировках. >с этого надо было начинать. Ну так поясни, че ломаешься. >это разделение на 2 потока с урезанными методаи и отличает спеца от ньюфага. первый и думает и реагирует, пока работает. второму приходится подтупливать по жизни. В том то и дело что реагировать не думая ты можешь только на шаблонные ситуации, см. рефлексы. Спец тем и отличается что он интернализировал (задрочил) больше таких ситуаций. В программировании и в инженерии вообще количество ситуаций слишком велико чтобы на каждый случай подобрать шаблонное (готовое) решение. >про психологию боя надо не ноунеймов говорящих ртом читать а смотреть и слушать федю и тайсона. Мы тут не за психологию трем, а за конкретные действия и механизм принятия решений, если федя что говорил по этому поводу - давай, я почитаю. >понятие "техника боя" тебе знакомо? Знакомо. Вся суть техник задрочить реакции, макросы, комбинации которыми ты во время боя будешь хуячить, при этом думая стратегически что и когда применить. >сам в ебыч получал? А ты сам с какого раёна? Получал и раздавал, это тут при чем? Я не стрит файтер, поэтому за рукомашество не смогу тебе пояснить. Поясню по дзюдо, окей? На тренировках спортсмен учится выполнять приемы, до автоматизма задрачивает, в поединке просто думает - так щас еще шаг сделает пидарас и я его брошу, ой бля не получилось, уход, уход, подсечка ебана! В общем опять повторяюсь - задрачиваешь макросы, потом отдаешь короткие команды, а тело выполняет.
>>887538 Дважды обосрался. Во первых, мы говорим про процесс программирования, а не про KPI (ты же менеджер, да?) Во вторых даже в качестве KPI это полное говно: Код - что это вообще, LOC? Заработок - ага, сравни свой заработок и заработок главы газпрома (он то заебись программист получается) объем принесенной пользы - как ты эту хуйню мерять собрался, так, ПОЧУСТВУЕШЬ? прибыль компании - хоть как то можно считать, но опять хуй знает, а RnD неизвестно окупится или нет через 10 лет. близость решаемой к идеальному алгоритму - это наверное самое близкое к процессу, но блять это пиздец - ну замутишь ты близкую по сложности.. через 10 лет, заебись? Нет, надо побыстрее, нужен компромисс - нахождение компромисса и есть инженерная задача, которая не формализуется.
В общем все что ты написал - это во первых не формализмы, во вторых не формализмы процесса решения инженерной задачи. Я думал ты на ТРИЗ хотя бы сошлешся.
>>887470 >а предсказываешь как поведет себя противник на основе предыдущего опыта Пофиксил на всякий случай
>>887293 Чем они отличаются от темплейтов, почему введено другое слово? Алсо, не нашёл нормальных решений, к сожалению. Все уёбищные. Вообще все. Большие, громоздкие, неповоротливые и хуёвые.
>>877106 (OP) Идея, на уровне "хуево когда код правится как портянка символов, пиздато когда код правится как AST" - правильная (блокнотики с подсветкой вместо редакторов кода это пиздец, да), но дальнейшее - пахнет изобретением велосипеда и какой-тошизанутой хуйней про мышей, про малафью.
Все это уже есть. Аж с 70-х когда structured code editors появились первые. Ну просто не в тренде(tm), в тренде атомы-хуятомы вместо редакторов.
Сейчас (и не только, уже много лет как) нормальные IDE используют гибридный подход. В памяти - AST для того что парсится и ноды-"ошибки" для того что нет (потому что строчка еще не закончена и в грамматику нихуя не лезет), на экране - сериализация всегоэтогов текст (потому что это наиболее удобный для людей формат, рисованая древовидная хуерга на экране не нужна, это поняли еще в 70/80-е, она только в глазах ебется, и заставляет держать в голове две изоморфных структуры- напечатанный руками код и древовидное представление - что нахуй никому не впилось). В файлах, разумеется, текст, потому что это вполне себе формат сериализации, который - что важно - совместим с любыми существующими гцц, цлангами, небесами и аллахами.
Собственно, AST-в-памяти - это то что отличает редактор кода от блокнотика. Редактор кода знает что он такое правит (и может в реально умный автокомплит, рефакторинг и все удобства для здорового человека), а блокнотики умеют красить символы по регэкспам в разные цвета (и иногда обсираться) и пытаться не задрочить пекарню, вызывая анализаторы/линтеры на каждую новую порцию символов.
А диффу... никто не мешает делать дифф по AST. Собственно, приличные IDE именно такие диффы и показывают - не на уровне `diff -u` "ну тут типа строка поменялась, вот", а именно подсвечивают что вот такую-то переменную переименовали, например, или что блок кода обернули условием а сам он не менялся.
>>887825 Жетбрейнзы умеют в IDE. Да, оно все громоздкое забагованное говно на жабе, но в плане понимания языка - оно вот то о чем ты пишешь. Еще и умеет отладчиком вцепиться и то что из AST непонятно (типы, вот это все) из рантайма подсмотреть и запомнить.
Что-то пиздели про LightTable, но как-то я нихуя не понял с какой стороны этот рогалик кушают.
Остальные редакторы кода - увы - всякое обскурное говно мамонта или сырые неюзабельные полузаброшенные поделки.
Так что, чтобы и легкое и умное и минет умело делать - не знаю, увы. Сам ищу.
> альтернативы текстовому вводу
Не-бу-дет. Твердо и четко. Вводить код сейчас можно только с клавиатуры, и это просто поток символов (портяна текста). Так что AST держат в голове, но вся сериализация (экран и файлы) - текст.
Ну пока не сделают баттплаг с нейроинтерфейсом, чтобы я такой подумал что цикл по вот этому списочку хочу а оно тут же все нахуячило. Тогда может быть будут альтернативы.
Но, опять же, сомневаюсь. Потому что держать в голове 2 структуры (дерево и код-текст) неудобно. А думать "голым" деревом - ну только если новые языки/вариации пилить (или откачивать труп лиспа), которые под дерево внятно идут - включая и тулчейн. А это все не взлетит (ну только если случайно не станет модно-молодежно, но я бы не делал ставку на такое).
Короче, вряд ли. Текст не так и хуев, он отлично десериализуется, и у типичного разработчика нет никакого особого повода менять его на что-то еще.
>>887826 Мой редактор и язык не поддерживает юникод и никогда не будет поддерживать эту ересь. Для кодинга латиницы хватает с головой. Юникодные приблуды подключаем через C/C++ хедеры - то.
>>877106 (OP) Пиздец, в треде уже 400 постов, и никто не ещё не упомянул JetBrains MPS. Там вполне себе полноценный projectional editor, т.е. редактор AST.
>>887856 Здесь помогли бы guard-ы из Хаскелла или лисповый cond. В обоих случаях не было бы тройной вложенности. Твой подход помогает хуячить длинные выражения не вводя промежуточных переменных. Писать так легче, потому что не надо думать над названиями этих переменных, но вот читать сложнее, потому что чтобы понять смысл безымянной конструкции надо её всю просмотреть глазами.
>>887901 Гарды, конд, убрать тернарный оператор, на худой конец - это все косметика, не меняющая сути ни на цент.
Суть в том что на кой-то хуй мелкие детали всплыли наверх как говно по весне и все оказались в одном месте. И вышло как это обычно у байтоблядей - нечитаемая мешанина говна.
На месте этого должно быть что-то типа selection_range(current_node).end, условно говоря. Ну или хуй проссыт что этот код делает, без контекста, может не угадал его сути, но в нем явно проглядываются какие-то потроха tree traversal пролезшие наружу.
>>887841 Поясните довену, в чём профит MPS, оно позволит строить такие деревца и всё? вырезал с ютуба
А, нет, сорре, я даун, это просто редактор но с одинаковыми шлюхами-ниграми по имени Джек, не сразу въехал, а то подумал что там деревья как у опа есть.
>>887841 Сорре что пишу ещё раз и опять почти не по делу, но на alternativeto.net к джетбрейнсу MPS есть алтернатива Xtext от Eclipse, и если перейти на сайт эклипса, там указано что xtext это часть от Eclipse neon, может есть что по этому поводу?
>>888241 Да у тебя же два способа написать вызов, Ваня. >>888243 Ты просто не умеешь в кодинг, смирись. Такая ебала не поддерживаема ни в одном виде. Сам то помнишь что тут проверяется? >>888544 В хуяторстве. Тебе принесли уже скрины из 70х, ты все копротивляешься. >>888890 Однохуйственно, в сишном варианте еще и понятно что это placement-new. Вообще можно заменить на DESTROY this/ BUILD this FROM from, будет лучше читаться. >>888905 Лишний call, тут сишник лучше читается, префиксная запись точки - это пздц. >>888909 Опять сишник лучше, еще и меньше месиа занимает. Я понимаю что ты мыслишь тернарными операторами, но дохуя тернарных операторов это неудобно. Ни в виде текста, ни в виде дерева. >>888910 https://www.youtube.com/watch?v=_srfe5z7-p0 чта?
>>889061 >хуету написал А говорил что тестируешь, тц-тц-тц. >И что за претензии к шизику без образования? ЧСВ завышенное, эгоцентризм, игнорирование мнения окружающих, претенциозность, продолжать? >repaint_if_dirty, фууу уж получше eve_sel_more_next, хотел написать просто repaint, но ты же не поймешь что там флаг внутри проверяется, кукарекать будешь (с твоим то дрочем на оптимизацию репаинтов), кому это надо.
>>889147 >оптимизацию репаинтов У меня отображается счетчик пейнтов, для возможности видеть - вдруг операция прошла проверки но не выполнила свою цель. Нехуй ткт догадки строить на мой счёт.
>>889152 >все поголовно с синдромом утёнка А ты в белом пальто. >Он работает хорошо >потом сам заметил по неправильному поведению программы. Выбери что то одно. >а префиксная точка это же божественная абстракция Что? В чем это абстракция и чем она божественна?
>>889158 >Нехуй ткт догадки строить на мой счёт. Ну ты код не выкладываешь, так что ешь что дают. >вдруг операция прошла проверки но не выполнила свою цель Ну с такой кашей как у тебя, неудивительно что тебе понадобилось.
здесь тупая ошибка. последний аргумент || пытается выполниться даже когда все модификаторы нажаты. По идее он должен быть обёрнут в && с аргументом mod_none Но я оставил самый стартовый вариант где
Радует что ОПу явно приятно внимание анона и видимо его это мотивирует, сидит делает отчеты кидает. Глядишь на такое и борда уже не кажется столь бесполезной идеей.
Это так чудесно - то. жмакаешь несколько раз / N и ты отправляешься в прошлое, в котором можешь лишь копировать в буфер обмена, чтобы вернуться в настоящее через / Y и пастить. Это же божественная концепция.
ок, всё, заоптимизировал инклюды - теперь в пределах сессии трансляции каждый cxt файл транслируется лишь однажды, что значительно ускорило дело. Наверное мой бинарник слишком толстый.
перевожу транслятор на язык cxt и выкладываю оба варианта на гитхаб.
>>890971 Компенсация это стремление добится успеха. ЧСВ и претенциозность не помогут тебе добится результата и уважения. Тот кто мог помочь тебе - отвернется, тот кто мог оценить тебя плюнет или посмеется. Достичь успеха в человеческом обществе можно только когда твой успех признают другие (ведь за этим же ты здесь, Ваня?), а те признаки что я перечислил работают против тебя.
>>891068 С какой целью интересуетесь, Иван Викторович? >>891069 Ты противоречишь сам себе, текстовое представление это и ЕСТЬ язык программирования. Слово ЯЗЫК тебе ни на что не намекает? Чтобы пошатнуть колосса тебе надо придумать удобное для ввода/изменения/чтения представление, не ЯЗЫК, а именно альтернативный способ. То что ты сейчас продвигаешь - неудобно, думаю ты и сам уже понимаешь на данном этапе. Ну и неплохо тебе профильную книжку читнуть, чтобы понимать почему все есть так как есть и что можно сделать. Как со стороны коплюктера (тот же dragon book), так и со стороны человека (тут хз что, может анон подскажет) про всякое UI/UX.
>>891107 С каких пор называть по фамилии ничтожественно? Хмхм. >Не читал и не буду ваши драконьи книжки. Как ты собираешься повергнуть колосса если даже не знаешь где он? Unlimited detail дохуя? Как же бесят такие самоуверенные необразованные чурбаны, которые ничего не знают и не хотят знать. >>891110 Точно схватил мою суть :3
>>891113 >необразованные Я однажды через силу прочитал религиозную книжку - я её потом порвал и сжёг. А Шилдт у меня как подставка для сковородки. Может когда нибудь закажу эти другие книжки, пригодятся в хозяйстве.
>>891113 >Unlimited detail Так фейк он или нет? Щас глянул на ютубе, ну пиздец как несерьёзно, коменты закрыли к туториалам хуй знает зачем сделаным, лайки позакрыли, пилят одну рекламу. Но помню на каких-то сайтах евклидеона были онлайн демки, которые мне было дико лень загружать, потому что они весили миллион гигов, смысл канал грузить ради ничего? Также находил одну онлайн прожку с атомарным рендерингом какого-то острова с горой, но и он весил ебический гиг или два. А они рекламят типа уххх мы игрульки будем теперь продвигать. Игрульки в 1 петабайт размером? Ну ёбана, как так. А ещё они убедили бюджет австралии выделить им 2 миллиона долларов на разработку, вот что значит создать видимость действия. Причём разрабы на видео выглядят настолько убедительно, что мне даже задонатить им захотелось на разработку и ещё встать перед ними на колени и начать на них молиться, а также отдать им последние штаны, и кого нибудь в рабство заодно, но подумав становится ясно что всё таки это больше похоже на хуйню. чё это за технологии внушения такие? Прям реально захотелось, без шуток.
А вообще, вы меня убедили, чуваки, надо короче делать как вот этот ёбанутый пацан - https://heartofnoise.com/products/galaxynth/ Который три с хуем года разрабатывал этот синт. Но отталкиваться не от аудио представления, а от визуального, искать такую же инфу относительно не звука. расписывать влом, сорян, на сайте почти всё есть
залил. Как смог оформил. Не было сил подробно расписывать что и как делать. Было сомнение, хотел вообще оставить сие божественное творение себе. Залил, а те кто меня дизморалили - сосните хуйца.
>>892575 А теперь запили нормальное блядь ищущееся название, либо нормальные теги для поиска. Иначе тогда этот анон окажется прав >>892585 хотя он и так прав окажется
>>894016 Так, ну допустим ты запилил некую хреновину, тыж хотел сделать "переворот" определённый. А так оно просто возьмёт и заглохнет. В том числе заглохнет если ты не сделаешь хотя бы этого - >>892627>>892623 Отсуствие "искуемости" равносильно тому что работа вообще в принципе не делалась. Там полтора ключевых слова, сделать так чтоб оно легко искалось - совсем простая же задачка. Там где нет движения - нет ничего кроме пустоты.
>>894273 >простая же задачка Я хз. Мне, веришь-ли, совсем побоку на перевороты - я делал это всё ради себя. И рвать жопу чтобы кому-то что-то доказывать и показывать не вижу смысла. При том что такие запросы "с++ tree editor" никто не делает, это просто запрос 1 на 1000000, как удар молнии. Эту херню увидело 53+ погромистов, и это уже хорошо. А пока буду пилить игру, я почти прикрутил Bullet к OSG. Окупаемость - я получил море фана и потренировал нехило свой одрягший мозк - я получил пользу.
>>894356 Ок, всё понял, ты привык наёбывать даже самого себя, что уже не замечаешь что где и как сказал, даёшь много пустых обещаний, но их груз становится настолько тяжким что проще просто забить на них гвоздь, а также очень сильно переоцениваешь собственные силы.
>>891069 >>Достичь успеха >Я лишь хочу пошатнуть колосса. Даже если мои попытки тщетны - я попытаюсь.
1. Стандартный подход - весь исходник это гигантская строка, суп из символов юникода, где распространение лексической/синтаксической ошибки марширует до первого переноса строки, либо символа ; а бывает что и вовсе до конца файла. Обилие открывающих/закрывающих лексем, либо отступы которые необходимо соблюдать. Удаляем в рандомном месте N символов юникода и сохраняем, потому что гадина кот попрыгал по клавиатуре, и можно плакать если уже не видна былая структура кода, и надо звать экспертов-археологов-криптоаналитиков, либо искать древнюю версию из бекапа. Плюсы подхода - можно редактировать исходник через блокнот на коленке. Недостатки — всевозможные diff частенько тупят.
2. Древовидный подход - весь исходник это хорошо структурированное дерево с листями-строками, где любые перемещения кода, удаление, вставка, затрагивают только целые ветви дерева либо толко листья, а ошибка на один символ юникода в листочке никак не затронет всё дерево, а чётко локализуется. "Разделяй и властвуй". По сути получаем абстрактное синтаксическое дерево, если не путаю. Известные мне похожие/близкие реализации — Scratch/Alice. Недостатки таких реализаций - детскость/скриптовость. Недостатки подхода - мегаинструмент хацкеров - блокнот — бесполезен. Преимущества – diff могут быть реализованы гораздо чётче; парсить такой исходник — детсадовец справится.
Идея без реализации невесома, но она имеется, реализация второго подхода, для языка, подобного с++, а по сути лишь обёртка над ним, при этом блоки выглядят минималистично, расположены структурировано и по почти компактно, нет детскости/раздутости в отрисовке как у ïîäîáíûõ. Транслируется в С++ а тот автоматом скармливается g++/clang. Отладка через gdb.
Вопрос, почему второй подход мертворожден, а труп первого подхода с удовольствием насилуется погромистами, прогресс Земли в исскустве программирования забуксовал?
Секретная картинка http://s06.radikal.ru/i179/1611/be/26695afccc42.png .
И голосование http://pollservice.ru/p/k20384ywmd .
Прошу не обзываться и не переходить на личности itt.