Всем привет. Это мой пятый подход к этой платформе. Четыре предыдущих закончились баном аккаунта. Вероятно, этот закончится так же. И, знаете, в этом есть определенная ирония. Системы, созданные для обмена знаниями, иногда так боятся нарушить свой хрупкий баланс, что начинают работать как брандмауэр, блокирующий любой незнакомый IP‑адрес с нестандартным «пакетом» идей.

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

Анатомия отторжения: "Низкий технический уровень" как универсальное оружие

Давайте начнем с самого распространенного аргумента, который я вижу в комментариях и в причинах минусов к моим статьям: «низкий технический уровень материала». Это fascinatin'g. Увлекательно. Потому что это идеальный пример того, как субъективная оценка, основанная на привычке, маскируется под объективный технический критерий.

Что такое «высокий технический уровень» в понимании среднего комментатора?

  1. Соответствие шаблону: Статья должна быть похожа на другие «успешные» статьи. Она должна использовать общепринятую терминологию, ссылаться на известные технологии (желательно, написанные на C++ или Rust), и решать проблему, которую сообщество уже признало «важной».

  2. Глубина в известном: Глубокий разбор уже существующего и понятного алгоритма или фреймворка — это высокий уровень. Создание чего‑то нового с нуля и объяснение его философии — это, зачастую, «низкий уровень», потому что оно не вписывается в существующую систему координат.

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

Ирония в том, что статьи, которые проходят этот фильтр, часто не несут никакой новой технической ценности. Они могут быть пересказом документации или компиляцией известных фактов. Но они «похожи» на правильные статьи. Они нравятся. AsmX G3 не похож. Он написан на Nodejs/TypeScript для разработки компилятора, что для многих уже звучит как ересь. Он предлагает свой синтаксис. Он решает проблемы не так, как принято. Поэтому он — идеальная мишень.

Системный порок: Когда сообщество оптимизирует не то, что нужно

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

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

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

Интересно, если бы системы работали так всегда, дошли бы мы когда‑нибудь до электромобилей и многоразовых ракет? Или так и продолжали бы оптимизировать конные повозки?

Изгой как функция системы

В любой системе есть понятие «выброса» (outlier). Это точка данных, которая сильно отличается от остальных. В статистике такие точки часто отбрасывают, чтобы они не «портили» общую картину. В человеческом обществе изгои — это и есть такие «выбросы». Они не вписываются в общую кривую распределения.

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

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

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

Инженерный ответ: Как строить в агрессивной среде

Итак что делать, когда ты оказался в роли такого «изгоя»? Когда система предвзята, а любой твой шаг встречается с волной негатива? Жаловаться — бесполезно. Нужно менять подход. Вот принципы, по которым я строю AsmX G3:

  1. Фокус на первых принципах, а не на аналогах. Я не задаю вопрос «Как сделать компилятор, похожий на GCC?». Я спрашиваю: «Что такое компилятор по своей сути? Какую задачу он должен решать? Как это сделать максимально эффективно, используя доступные сегодня инструменты?». Ответ на этот вопрос привел меня к Nodejs/TypeScript, к двум режимам парсера и к собственной реализации всего конвейера.

  2. Код — главный аргумент. Можно сколько угодно спорить о «техническом уровне» статьи. Можно поставить ей минус. Но нельзя поставить минус рабочему ELF‑файлу, который скомпилирован моим инструментом и запущен на реальном железе. В конечном счете, единственный критерий истины в инженерии — это работающий продукт. Поэтому я трачу время не на споры, а на код.

  3. Итерация и открытость. Проект открыт. Каждое изменение, каждая строчка кода видна в репозитории. Я не скрываю недоработки. Я открыто говорю о них, как в предыдущей статье о проблеме с переопределением переменных в .rodata или о будущем системных вызовов. Это лучший ответ критикам: пока вы говорите, я — делаю.

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

Свобода слова и модерация

И последнее. Если эта статья будет удалена модераторами по формальному признаку, это лишь подтвердит мой главный тезис. Что система защищает не свободу творчества и обмена идеями, а собственное спокойствие и соответствие шаблонам. Свобода слова — это не право говорить то, что всем нравится. Это право говорить то, что неудобно. То, что заставляет задуматься.

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

Комментарии (22)


  1. SystemSoft
    21.07.2025 08:26

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

    Ты не должен пытаться говорить с критиками - ты должен исправлять то, о чём они говорят "плохо".

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

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


    1. Alex679 Автор
      21.07.2025 08:26

      Спасибо за ваше мнение. Вы затронули несколько важных моментов, которые заслуживают развернутого ответа. Давайте разберем их по пунктам.

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

      Здесь происходит подмена понятий. "Работающий ELF-файл" — это доказательство того, что компилятор выполняет свою основную функцию: он производит исполняемый бинарный код из исходного текста. Это объективный критерий.

      "Костыли" и "неправильно работающие фичи" — это зачастую субъективная оценка, основанная на привычках, сформированных другими языками. И здесь мы подходим к ключевому моменту, который многие упускают.

      Ты не должен пытаться говорить с критиками - ты должен исправлять то, о чём они говорят "плохо".

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

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

      Критики в один голос заявляли, что код Int = 1.0 обязан работать. Они утверждали, что это "неправильно работающая фича", потому что в их парадигме 1.0 равно 1, и компилятор должен производить неявное преобразование (implicit conversion).

      Моя философия здесь кардинально иная, но она не взята с потолка. В AsmX G1-G2:
      Int = 1
      Float = 1.0

      Это два совершенно разных типа1 — это целочисленное значение. 1.0 — это число с плавающей точкой. Позволить компилятору молча отбрасывать дробную часть при присваивании — это путь к скрытым ошибкам, потере точности и непредсказуемому поведению. Это тот самый "костыль", который я сознательно не хочу встраивать в свой язык. AsmX — это про явность и контроль. Если вы хотите преобразовать float в int, вы должны сделать это явно, через специальную инструкцию или функцию, полностью осознавая возможные последствия.

      Поэтому, когда мне говорят "исправь это", я отвечаю: это не ошибка, это — архитектурное решение. Заставлять меня реализовать то, что противоречит философии языка — это не конструктивная критика. Это попытка навязать свое видение, используя меня как бесплатную рабочую силу.

      Хотите язык, где Int = 1.0 — это норма? Отлично, это ваш выбор. Но AsmX строится на других принципах. И я буду их отстаивать.

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

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

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


  1. sv-0
    21.07.2025 08:26

    Иногда самые интересные комментарии те, где больше всего минусов. Да, часто минусуют справедливо - за хамство или бред. Но иногда минусуют лишь за несовпадающую точку зрения или слишком свежий, нетрадиционный взгляд на вещь. Обычный человек слишком субъективен и зашорен в узких раках.
    Можно "убить" карму, если например, похвалить Windows, несмотря на техническую аргументацию позиции и подобное.
    У моей предыдущей учётки карма "-15" и лишь за то, что я осмелился высказаться, что придерживаюсь мнения, что LLM через какое-то время сможет полностью взять на себя написание кода. Людям это не нравиться, вот и заминусовали. Это очень по человечески! "мне это не нравиться, значит можно не обращать внимание на факты".


    1. JuryPol
      21.07.2025 08:26

      Интересно, а эти ваши LLM тоже будут упорно везде втыкать «это не нравиться»?


      1. Aggle
        21.07.2025 08:26

        ...причём именно "-ться".


    1. Aggle
      21.07.2025 08:26

      Можно "убить" карму, если например, похвалить Windows

      У этой парадигмы очень давние корни. ))) "Винда - мастдай, Билл Гейтс - сакс".


  1. nikolz
    21.07.2025 08:26

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

    Минус в карму, без объяснения позиции, почему-то ассоциируется у меня с анонимными доносами.


    1. Aggle
      21.07.2025 08:26

      Аналогично. За несколько лет (на другом ресурсе) я поставил тысяч под 15 плюсов и 2 (два) минуса - оба за циничнейшее и откровеннейшее хамство и быдлячество.
      А без объяснения причин минусы на хабре часто ставят на том основании, что нормального объяснения дать невозможно. "Несогласие с политическими взглядами" или "Мне не нравится автор/комментатор" - так себе причины, да.


  1. kmatveev
    21.07.2025 08:26

    Визионер-страдалец, ты бы хоть код в репозиторий выложил. А то со страницы документации ссылки на репозиторий ведут на 404.


    1. Alex679 Автор
      21.07.2025 08:26

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

      Полный исходный код AsmX G3 будет открыт 23 июля.

      Ссылка, которая сейчас ведет на 404, станет активной в этот день:
      https://github.com/AsmXFoundation/AsmX-G3

      Мы придерживаемся принципа "сначала код, потом слова". Последние коммиты полируются для запуска.

      Увидимся на релизе.


      1. includedlibrary
        21.07.2025 08:26

        Мы придерживаемся принципа "сначала код, потом слова"

        А ваши статьи говорят об обратном :)


        1. Alex679 Автор
          21.07.2025 08:26

          Статьи — это часть дорожной карты, которая была анонсирована ранее.

          План остается неизменным:

          1. Релиз кода: 23 июля.

          2. Глубокий технический разбор: 23-26 июля.

          Все идет по плану.


        1. SystemSoft
          21.07.2025 08:26

          ага


      1. Error1024
        21.07.2025 08:26

        Кто «мы» то? Ты тут один.


  1. includedlibrary
    21.07.2025 08:26

    Разберём подробно вами написанное, just for lulz, конечно же:

    Соответствие шаблону: Статья должна быть похожа на другие "успешные" статьи. Она должна использовать общепринятую терминологию, ссылаться на известные технологии (желательно, написанные на C++ или Rust), и решать проблему, которую сообщество уже признало "важной".

    Начнём с терминологии. Разумеется, вы должны стараться использовать имеющуюся терминологию, чтобы другие люди вас поняли. Иное допустимо, если вы придумали что-то совершенно новое и доселе невиданное. Впрочем, у вас конкретно с терминологией проблем и не наблюдается. Про c++ и rust - это полный бред, если то, что вы написали действительно интересно и/или решает проблему, многим будет всё равно, на чём ваше программа написана. Другой вопрос, если вы делаете обычный x86 ассемблер на nodejs. Такое никому вообще не нужно. Уже есть nasm, yasm, fasm, gas, которые работают стабильно, есть везде и не тянут nodejs. Насчёт решения проблем: а какие конкретно проблемы решает Asmx?

    Глубина в известном: Глубокий разбор уже существующего и понятного алгоритма или фреймворка — это высокий уровень. Создание чего-то нового с нуля и объяснение его философии — это, зачастую, "низкий уровень", потому что оно не вписывается в существующую систему координат.

    Это как раз звучит бездоказательно. Если смотреть на Asmx, то он не относится вообще ни к одной из данных категорий. Вы и существующую технологию не разбираете глубоко и новую не создаёте.

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

    Иногда это так, а иногда и нет. К вашему случаю не применимо.

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

    Тут могу согласится частично. Куча заплюсованных статей представляют собой мусор для продвижения тг каналов и/или курсов. Но не все.

    AsmX G3 не похож. Он написан на Nodejs/TypeScript для разработки компилятора, что для многих уже звучит как ересь. Он предлагает свой синтаксис. Он решает проблемы не так, как принято. Поэтому он — идеальная мишень.

    Если бы это был компилятор какого-то более менее интересного языка, то претензий бы не было. Да даже, если бы вы просто не писали бы об Asmx как о чём-то прорывном и новом, претензий было бы на порядок меньше.

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

    Но вот в чем парадокс: в науке и инженерии именно "выбросы" часто указывают на самые интересные явления.

    Даже если и так, то не ваш случай снова.

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

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

    Фокус на первых принципах, а не на аналогах. Я не задаю вопрос "Как сделать компилятор, похожий на GCC?". Я спрашиваю: "Что такое компилятор по своей сути? Какую задачу он должен решать? Как это сделать максимально эффективно, используя доступные сегодня инструменты?". Ответ на этот вопрос привел меня к Nodejs/TypeScript, к двум режимам парсера и к собственной реализации всего конвейера.

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

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

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


    1. Aggle
      21.07.2025 08:26

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

      Очень знакомая ситуация


  1. KonstantinC
    21.07.2025 08:26

    Продолжайте творить! Даже если это "велосипед"!

    Есть такие слова в песни А. Пугачевой

    "Просто

    Считать уже открытые звезды

    Но одну свою звезду

    Так открыть непросто!" (С) Илья Резник

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

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

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


  1. Error1024
    21.07.2025 08:26

    На Хабре тут уже был один персонаж - mihip, тоже делал шизофренические компиляторы (WCT Lang - по факту просто замена HEX(0..9ABCDEF) на буквы ABCDEF…), продвигал бредо идею распределенного интернет провайдера поверх обычного интернета. Как и ты, постоянно создавал новые аккаунты на Хабре, после очередного слива кармы. Те же обороты речи с «мы разрабатываем», «мы анонсировали», и т.д.. Тоже рассказывал, что его «гнобят», и не понимают его «гениальность».

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


  1. Dusty77
    21.07.2025 08:26

    Кажется у ТС очень много свободного времени. Аж завидно.


  1. n0isy
    21.07.2025 08:26

    Очередной nin-меня не понимают-jin?


    1. ApxuTechTop
      21.07.2025 08:26

      Ну он хотя бы действительно что то новое, интересное и вполне рабочее делает. Я вот в качестве пета сделал карту для Майнкрафт сервера


  1. Aggle
    21.07.2025 08:26

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

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