AsmX (Engine AsmX)
AsmX (Engine AsmX)

Онлайн ресурсы

  • Обновления. AsmX, как и все языки постоянно развивается. Сам язык программирования AsmX можно посмотреть тут

  • Расширение для подсветки AsmX кода extension (VS Code)

  • Сайт документации по AsmX web site

Введение

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

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

Он также поддерживает примитивные типы данных, включая массивы и объекты. AsmX также предоставляет новый формат expr для выполнения математических выражений и возвращения результата. Он также имеет функциональность компиляции в собственный формат приложений (APP), о котором мы поговорим позднее. AsmX также предлагает новые типы структур данных и условные операторы для удобной работы.

Coroutine, expr format
coroutine
coroutine
expr format
expr format

Инструменты AsmX

  1. CIDE (Console IDE) Он имеет минимальный удобный IDE, с горячими клавишами. Что может быть лучше?

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

  3. Security Tools - инструмент, позволяющий предотвращать вандализм с вашим устройством. Он не гарантирует на 100% полное соглашение на безопасное ПО, которое было написано на AsmX.

  4. Server Log - это сервер лог который делает логи более удобно читаемыми. Имеет несколько видов тегов, закрепление вид лога, к примеру предупреждение, уведомление.

  5. Micro - отдельный язык программирования, предзначенный для сборки/компиляции AsmX программ. Файловое расширение .micro . Им можно воспользоваться когда вы захотите использовать несколько команд для взаимодействия с AsmX.

NeuralAI
NeuralAI

CLI

В AsmX есть несколько разных CLI, которые нацелены под свои задачи и их предзначения.

  1. AsmX CLI - самый главный CLI, позволяет осуществлять компиляцию/сборку AsmX программ, установка Engine (Об этом позже поговорим). У него также содержатся другие работы.

  2. CIDE CLI - имеет из себя справочник по его использованию, включая горячие клавиши. Заметьте, при вызове горячих клавиш в CIDE в VS Code PowerShell/bash могут быть как VS Code вызовы, это означает что горячие клавиши могут быть отданы другому приложению, когда вы их вызываете.

  3. App CLI - имеет работу с App файлами, такие как компиляция/выполнение, можно даже узнать имеющееся последнюю версию App компилятора.

AsmX OS

В составе AsmX присутствует мини-операционная система под названием AsmX OS. Следует отметить, что данная ОС не является полноценной и предназначена для специфических задач.

AsmX OS
AsmX OS (тема NeoUI)
AsmX OS (тема NeoUI)
AsmX OS (theme NeoUI)
AsmX OS (theme NeoUI)

На последнем фото представлено улучшение, также улучшение neofetch и введение графики.

AsmX OS предоставляет мощные инструменты для работы с языком программирования AsmX. В рамках AsmX CLI пользователь имеет возможность изменять темы интерфейса командной строки (CLI), а также переключаться между различными CLI. Она включает в себя ряд функций, включая создание директорий и файлов. Предназначена эта операционная система для удобного и эффективного процесса разработки, позволяющего избежать постоянного вызова терминала при завершении процесса.

Чтобы перейти в AsmX OS, нам необходимо в AsmX CLI прописать команду os.

node kernel asmx-cli os AsmXOS

Почему данная ОС носит название AsmXOS, а не, например, TaskOS? Такое имя было выбрано, поскольку она успешно выполняет большинство задач, связанных с языком программирования AsmX, и имеет к нему прямое отношение, не затрагивая другие языки программирования.

AsmX Engine

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

AsmX Engine
example of using AsmX Engine
example of using AsmX Engine
an example of using custom instructions made using the AsmX Engine
an example of using custom instructions made using the AsmX Engine

Движок Engine дает возможность расширить функциональность AsmX и улучшить его возможности.

App (.app) компиляция

AsmX предоставляет полноценную компиляцию в приложения App. Тем не менее, стоит отметить, что этот стандарт является закрытым. Чтобы скомпилировать код из AsmX в формат App, следует учитывать следующие моменты:

  1. Если вы хотите использовать другую версию, а не v1, используйте символ "@" перед указанием версии.

  2. Если вы не указываете явно версию для App v1, она будет вызываться по умолчанию.

  3. Версия App v2 имеет преимущество перед v1, так как позволяет компилировать все инструкции (за исключением пользовательских). Однако он не поддерживает компиляцию структур и ветвлений. Поэтому рекомендуется использовать v2.

  4. Для запуска скомпилированного файла можно воспользоваться декомпилятором, который выводит информацию о файле App.

  5. Если вы попытаетесь запустить скомпилированный файл App v1 на версии v2, сработает заглушка, которая была загружена в файл. Результатом будет вывод этой заглушки в терминал или консоль. Поэтому, чтобы быть уверенным, что вы запускаете нужную версию компилятора, рекомендуется использовать декомпилятор. Это особенно важно, если вы не знаете, для какой версии компилятора предназначен файл App.

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

Компиляция:

node kernel asmx-cli build app@v2 ./file ./out?

Запуск скомпилированного файла:

node kernel asmx-cli run app@v2 ./file

Декомпиляция, выводит информацию об App файле.

node kernel asmx-cli decompile app ./file

Преимущества использования AsmX

AsmX имеет ряд немало преимуществ перед другими языками программированиями.

AsmX vs C:

  1. имеет тип bool, C99 стандарт через define не считается.

AsmX перед другими ассемблерами (TASM / FASM / NASM / MASM):

  1. имеет несколько видов структур.

  2. импорт файлов, бибилиотек можно осуществлять в начале файла.

  3. есть возможность писать в VS Code (у FASM своя IDE FASMW).

  4. имеет типизацию.

AsmX vs другие языки программирования у которых нету таких воможностей:

  1. имеет перегрузку функций и даже корутин.

  2. имеет возможность наследовать несколько классов.

  3. имеет свою структуру данных collection которая позволяет хранить значения сразу, не путать с struct.

AsmX vs C++:

  1. имеет встроенный json namespace.

  2. имеет полноценную работу с корутинами.

Практические примеры использования AsmX

С помощью AsmX вы можете разработать аналог программы Postman, будучи в состоянии отправлять HTTP-запросы и получать ответы. Также вы можете создать своего собственного бота для Telegram, используя функциональность AsmX.

Помимо этого, AsmX можно использовать для написания консольных игр или визуализации данных. Вы можете реализовать графический интерфейс пользователя (GUI) для десктопных приложений с помощью AsmX Engine, используя пользовательские инструкции.

Возможности AsmX не ограничены только перечисленными примерами - ваша фантазия является единственным ограничением!

Заключение

Для более подробной информации возможностей, новостях AsmX можно узнать в Telegram.

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


  1. mobi
    27.08.2023 06:40
    +1

    с полной поддержкой Тьюринга

    Это как? :-)


    1. HemulGM
      27.08.2023 06:40
      +13

      В "ядре" языка есть комментарий, где написано "Мы поддерживаем тебя, Тьюринг" и "Давай, Тьюринг, ты сможешь"


  1. Abobcum
    27.08.2023 06:40

    Как скомпилировать apk под android с поддержкой сокетов?


  1. Number571
    27.08.2023 06:40
    +5

    В составе AsmX присутствует мини-операционная система под названием AsmX OS. Следует отметить, что данная ОС не является полноценной и предназначена для специфических задач.

    Ни в каком смысле этого слова данное приложение просто не может считаться какой бы то ни было ОС. Это обычное консольное приложение, запускаемое в уже существующей ОС, которое поддерживает JS и ноду. И непонятно где вы использовали AsmX при написании даже этой "ОС". Всё что я вижу - это голый JS.


    1. ElonReeve Автор
      27.08.2023 06:40
      -6

      Вы чересчур пессимистичны!


      1. orenty7
        27.08.2023 06:40
        +1

        Автор, если не секрет, зачем в бутлоадере два раза while?


    1. nuclight
      27.08.2023 06:40
      +1

      Всё что я вижу - это голый JS.

      Как же! А goatse не видно разве?


      1. FisHlaBsoMAN
        27.08.2023 06:40

        теперь не развидеть...


  1. Stepashka20
    27.08.2023 06:40
    +3

    Это какой то ужас... Как может повернуться язык назвать это ЯП, когда это переводчик в обычный node js ????


    1. VasiliiKirienko
      27.08.2023 06:40
      +2

      Это даже не переводчик, это интерпретатор. Он читает из файла код разбирает его if'ами и выполняет сразу же. Ни компиляции в бинарники, ни трансляции в node недоступно.


  1. VasiliiKirienko
    27.08.2023 06:40
    +2

    Здравствуй, дорогой Маск. Это я, твой единственный тестировщик. Меня очень огорчает твоя осведомлённость о плюсах. Местная поддержка корутин намного полнее той, что ты сделал для своего языка. По поводу json namespace. Судя по всему, все объекы языка AsmX хранятся в формате json, что с точки зрения памяти, локальности кэша и выполнения операций во время компиляции - значительно хуже стандартной модели памяти C++.


    1. VasiliiKirienko
      27.08.2023 06:40

      А по поводу плюсов забыл добавить. C++ в 72.2 триллиона раз быстрее AsmX.


  1. nuclight
    27.08.2023 06:40
    +3

    Если кто не в курсе, автор - 16-летний школьник, эдакий новый Денис Попов, на полном серьезе выдающий себя за Илона Маска в Telegram (в чате kepka_support уже месяц творится цирк из-за отсутствия модераторов), его прошлый пост по теме уже удаляли с Хабра, самого его забанили уже даже и на Гитхабе (за спам предложениями своего "языка" в частности, в Kolibri OS). На любую критику отвечает "какая зависть". Скорее всего, психически больной, а-ля "Наполеон из 6 палаты".


  1. VasiliiKirienko
    27.08.2023 06:40
    +2

    Для полного понимания текущего состояния языка рекомендую статью: https://habr.com/ru/articles/757392/


    1. ElonReeve Автор
      27.08.2023 06:40
      -5

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


      1. VasiliiKirienko
        27.08.2023 06:40
        +2

        Диванный эксперт ака единственный, кто код на твоём языке запускает


      1. VasiliiKirienko
        27.08.2023 06:40
        +2

        Я готов удалить всю ложную информацию, если вы укажете на неё и докажите, что она ложная.


        1. ElonReeve Автор
          27.08.2023 06:40
          -5

          Вау, вы не умеете читать, ты в глаза долбишься? Ты отличить int от float не можешь, с тобой бесполезно разговаривать.


          1. VasiliiKirienko
            27.08.2023 06:40
            +2

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


          1. nuclight
            27.08.2023 06:40
            +1

            @moderatorздесь уже был прецедент с этим человеком с постом про тот же AsmX


            1. ElonReeve Автор
              27.08.2023 06:40
              -2

              Ого, вот это вызов.


              1. VasiliiKirienko
                27.08.2023 06:40

                Злой хабр ущемляет разроботчика точно рабочего языка, распространите. Как там протокол кста?


              1. nuclight
                27.08.2023 06:40

                @moderator он переименовал статью в чужую https://habr.com/ru/articles/757392/


  1. VasiliiKirienko
    27.08.2023 06:40

    Я только сейчас заметил

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

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


    1. ElonReeve Автор
      27.08.2023 06:40
      -3

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


      1. ElonReeve Автор
        27.08.2023 06:40

        Зачем минус поставили? Вам что, делать больше нечего?


        1. VasiliiKirienko
          27.08.2023 06:40

          Потому что постправда(ака "я не это имел ввиду") приём дешёвый и низкосортный


      1. VasiliiKirienko
        27.08.2023 06:40

        А почему для просмотра информации о версии компилятора нужна декомпилиция? Декомпилятор правильной версии ты автоматически подбираешь. Сверху есть бенчмарки, которые показывают, что исполнение .app v2 медленнее простой интерпретации в полтора раза. Из менее важных недочётов: почему стандартная версия компилятора - первая, а не последняя? почему компилятор не может проверить используются ли не поддерживаемые v1 инструкции и автоматически использовать v2 в таком случае? Или он просто интерпретатор и ему нужно знать заранее о том, как интерпретировать код, так как заранее распарить все инструкции он не может?


        1. ElonReeve Автор
          27.08.2023 06:40
          -1

          Скажи честно, ты тупой? Ты уже который раз в глаза долбишься. Либо ты так жирно троллить собрался.


          1. VasiliiKirienko
            27.08.2023 06:40
            +1

            Классно ты опровергает информацию, подкреплённую бенчмарками. Сказал бы хоть, что они неправильные. Почему дефолт версия первая - не важно, ведь я в глаза долблюсь. Почему декомпилятор выбирается автоматически, а компилятор - нет, тоже не важно, я-то в глаза долблюсь. Может у тебя текст в бинарниках вместо бинарных символов тоже потому, что я в глаза долблюсь?

            UPD: Компилятор тоже стал интерпретатором, из-за того, что я в глаза долблюсь? Не знал, что мои глаза - кор фитча AsmX, и манипуляции с ними ломают его напрочь.


  1. VasiliiKirienko
    27.08.2023 06:40

    Практические примеры использования AsmX

    С помощью AsmX вы можете разработать аналог программы Postman, будучи в состоянии отправлять HTTP-запросы и получать ответы. Также вы можете создать своего собственного бота для Telegram, используя функциональность AsmX.

    Помимо этого, AsmX можно использовать для написания консольных игр или визуализации данных. Вы можете реализовать графический интерфейс пользователя (GUI) для десктопных приложений с помощью AsmX Engine, используя пользовательские инструкции.

    Возможности AsmX не ограничены только перечисленными примерами - ваша фантазия является единственным ограничением!

    Обращаю ваше внимание на эту цитату. Пункт 1: на данный момент в AsmX отсутствуют встроенные http и telegram api. Пункт 2: Engine - по сути дела вставки javacript кода. Таким образом с помощью engine в теории можно добиться полной функциональности node.js, но учитывая производительность языка и его крайнее неудобство синтаксиса(вызванное только желанием автора назвать свой язык низкоуровневым), стоит просто использовать сам node.js без посредников.

    Призываю не верить утверждениям автора о том, что на AsmX можно что-то реализовать, пока вы не увидите, собственно, реализацию. Вполне возможно, что автор будет пытаться выдавать функционал js за функционал своего языка. На данной стадии развития язык абсолютно вторичен node.js и не может быть практически использован в разработке чего-либо серьёзнее простых консольных игр, лежащих на гитхабе автора. Держите в голове, что как таковая компиляция под windows/linux/arm отсутствует.


    1. ElonReeve Автор
      27.08.2023 06:40
      -1

      Пункт 1: на данный момент в AsmX отсутствуют встроенные http и telegram api.

      ТЫ В ГЛАЗА ОПЯТЬ ДОЛБИШЬСЯ.

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

      Человек, купи себе мозги и займись чем-то, а не распространять ложную информацию. Просто скажите что у вас зависть, просто Envy.


      1. VasiliiKirienko
        27.08.2023 06:40

        Опять ярко видно ваш уровень дискуссии. Вместо ссылки на пример с применением http/telegram api, вы начинаете меня прямо оскорблять и переходить на личности. И моя дезинформация(основанную на тестах и бенчмарках, в том числе задокументированных) почему-то хуже вашей правды, основанной только на ваших словах.


  1. VasiliiKirienko
    27.08.2023 06:40

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

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