Универсальный язык программирования

Тема в разделе "WASM.LANGS", создана пользователем Dmitriy1973, 9 окт 2026 в 13:02.

  1. Dmitriy1973

    Dmitriy1973 New Member

    Публикаций:
    0
    Регистрация:
    11 мар 2026
    Сообщения:
    1
    Привет, WASM.
    Работаю над средой разработки, где высокоуровневый код, ассемблер и машинный код — это три синхронизированные колонки (похоже на Hiew, но с двусторонним редактированием). Изменение в любой колонке автоматически пересчитывает остальные.
    Идея не в том, чтобы заменить существующие инструменты, а в том, чтобы дать единую поверхность для разных задач:
    • Для опытных разработчиков и при разборе чужого кода: можно выделить интересный низкоуровневый фрагмент в первых двух колонках и в редакторе третьего столбца оформить его как свою пользовательскую команду. Дальше она используется как обычная абстракция, но без потери прозрачности: всегда можно развернуть и посмотреть, что там внутри. Это способ фиксировать и переиспользовать низкоуровневые трюки.
    • Для проектирования железа и разговора с производителями: через редактор первой колонки можно проектировать собственную логику команд и формировать спецификацию: «хочу вот такие команды, вот сколько тактов они занимают, вот сколько логических элементов нужно». Четвёртая (сейчас скрытая) колонка даёт прогноз стоимости: такты, логические элементы, энергозатраты.
    • Для обучения и перехода от высокого уровня к железу: студент видит не абстрактную теорию, а прямой путь: высокоуровневая абстракция → ассемблер → машинный код → стоимость в тактах и элементах. Это помогает сформировать интуицию о цене каждой строчки кода.
    Хочу услышать мнение сообщества не про сам язык, а про такой подход к инструменту:
    1. Насколько востребована возможность создавать свои команды поверх существующего ISA именно в реальной разработке (не в экспериментах)? В каких задачах это реально экономит время?
    2. Есть ли подводные камни в самой идее двустороннего редактирования (изменение машинного кода → пересчет ассемблера и высокоуровневой абстракции)? Где такая модель ломается на практике?
    3. Насколько реалистично использовать такую среду как спецификацию для проектирования железа? Какие метрики и данные в ней были бы действительно полезны для разговора с производителем чипов?
    4. Как вы видите место такого инструмента в современном рабочем процессе? Это дополнение к существующим IDE/ассемблерным средам, или отдельная ниша?
    Не ищу похвалы. Мне нужны жёсткие контраргументы: где эта идея упирается в реальные ограничения компиляторов, ISA или производственных процессов.
    Спасибо за любые мысли.
     
  2. Application

    Application Moderator Команда форума

    Публикаций:
    1
    Регистрация:
    8 дек 2007
    Сообщения:
    1.055
    Если я не ошибаюсь, компиляция - это процесс с потерями. Информация об именах переменных, типах данных, структурах управления (циклы, условия) безвозвратно теряется, если только компилятор специально не сохранил её в отладочных символах.
     
  3. ml64

    ml64 Active Member

    Публикаций:
    0
    Регистрация:
    29 окт 2017
    Сообщения:
    122
    GUI
    Как человек, работающий с графикой, скажу: колонки - это не всегда удобно.
    Количество строк на ЯВУ всегда будет меньше количества инструкций, поэтому первая колонка будет полупустая.
    Как изменять размер окна/колонок? Тот же вопрос для случая, когда у пользователя два монитора.
    А если у кого-то один, но маленький (например, ноутбук у студента).

    Содержание
    1. ЯВУшники пишут код лесенкой по поводу и без повода, поэтому в первой колонке будет видно только начало строки,
    тогда строку придётся переносить, и их драгоценная лесенка потеряет смысл.
    2. Какой смысл в колонке машинного языка без состояния регистров и дампа памяти?

    Имхо
    По описанию Ваша концепция похожа на "визуальное программирование".
    Я уже живо представил себе Dynamo из Revit, Param-O из ArchiCAD или Grasshopper для Rhinoceros 3D.
    Ну или Scratch для студентов MIT.
    Имхо, такое представление было бы вполне современным: кликабельный нод с кодом ЯВУ, а по клику появляется тег с пояснением
     
  4. Application

    Application Moderator Команда форума

    Публикаций:
    1
    Регистрация:
    8 дек 2007
    Сообщения:
    1.055
    Как человек иногда пишущий на dephi 7, скажу. Сделать в виде 3 отдельных вкладок.
    Все это можно добавить в последней вкладке. Они не обязательно должны быть одинаковыми по инструментарию.

    Имхо, добавить точки останова в эту вашу ide, тогда будет благодать.
     
  5. ml64

    ml64 Active Member

    Публикаций:
    0
    Регистрация:
    29 окт 2017
    Сообщения:
    122
    Кстати, предлагаемый подход исключает оптимизацию
    --- Сообщение объединено, 9 окт 2026 в 16:20 ---
    Tabbed-interface. Тоже вариант. Но современные студенты - это уже даже не зумеры. Это альфы. Им надо красивые картиночки, они без картиночек не могут
     
  6. Application

    Application Moderator Команда форума

    Публикаций:
    1
    Регистрация:
    8 дек 2007
    Сообщения:
    1.055
    creating-simple-tabbed-interface-with-pure-css.jpg
     
    Dmitriy1973 нравится это.