Онлайн ресурсы
Обновления. AsmX, как и все языки постоянно развивается. Сам язык программирования AsmX можно посмотреть тут
Расширение для подсветки AsmX кода extension (VS Code)
Сайт документации по AsmX web site
Введение
AsmX - это кроссплатформенный язык программирования с полной поддержкой Тьюринга. У него есть уникальный синтаксис, где инструкции начинаются с символа собачки. Забавно, как это возникло, но это уже другая история.
AsmX предлагает ряд возможностей, таких как корутины, которые могут быть легко манипулированы.
Он также поддерживает примитивные типы данных, включая массивы и объекты. AsmX также предоставляет новый формат expr для выполнения математических выражений и возвращения результата. Он также имеет функциональность компиляции в собственный формат приложений (APP), о котором мы поговорим позднее. AsmX также предлагает новые типы структур данных и условные операторы для удобной работы.
Coroutine, expr format
Инструменты AsmX
CIDE (Console IDE) Он имеет минимальный удобный IDE, с горячими клавишами. Что может быть лучше?
NeuralAI - мини ИИ который позволяет разработчику помочь в решении проблемы. Этот AI появляется в случае ошибки, в результате чего он подскажет что вы хотели написать, или что лучше сделать.
Security Tools - инструмент, позволяющий предотвращать вандализм с вашим устройством. Он не гарантирует на 100% полное соглашение на безопасное ПО, которое было написано на AsmX.
Server Log - это сервер лог который делает логи более удобно читаемыми. Имеет несколько видов тегов, закрепление вид лога, к примеру предупреждение, уведомление.
Micro - отдельный язык программирования, предзначенный для сборки/компиляции AsmX программ. Файловое расширение .micro . Им можно воспользоваться когда вы захотите использовать несколько команд для взаимодействия с AsmX.
CLI
В AsmX есть несколько разных CLI, которые нацелены под свои задачи и их предзначения.
AsmX CLI - самый главный CLI, позволяет осуществлять компиляцию/сборку AsmX программ, установка Engine (Об этом позже поговорим). У него также содержатся другие работы.
CIDE CLI - имеет из себя справочник по его использованию, включая горячие клавиши. Заметьте, при вызове горячих клавиш в CIDE в VS Code PowerShell/bash могут быть как VS Code вызовы, это означает что горячие клавиши могут быть отданы другому приложению, когда вы их вызываете.
App CLI - имеет работу с App файлами, такие как компиляция/выполнение, можно даже узнать имеющееся последнюю версию App компилятора.
AsmX OS
В составе AsmX присутствует мини-операционная система под названием AsmX OS. Следует отметить, что данная ОС не является полноценной и предназначена для специфических задач.
AsmX OS
На последнем фото представлено улучшение, также улучшение 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
Движок Engine дает возможность расширить функциональность AsmX и улучшить его возможности.
App (.app) компиляция
AsmX предоставляет полноценную компиляцию в приложения App. Тем не менее, стоит отметить, что этот стандарт является закрытым. Чтобы скомпилировать код из AsmX в формат App, следует учитывать следующие моменты:
Если вы хотите использовать другую версию, а не v1, используйте символ "@" перед указанием версии.
Если вы не указываете явно версию для App v1, она будет вызываться по умолчанию.
Версия App v2 имеет преимущество перед v1, так как позволяет компилировать все инструкции (за исключением пользовательских). Однако он не поддерживает компиляцию структур и ветвлений. Поэтому рекомендуется использовать v2.
Для запуска скомпилированного файла можно воспользоваться декомпилятором, который выводит информацию о файле App.
Если вы попытаетесь запустить скомпилированный файл App v1 на версии v2, сработает заглушка, которая была загружена в файл. Результатом будет вывод этой заглушки в терминал или консоль. Поэтому, чтобы быть уверенным, что вы запускаете нужную версию компилятора, рекомендуется использовать декомпилятор. Это особенно важно, если вы не знаете, для какой версии компилятора предназначен файл App.
Нормально, что размер скомпилированного файла может отличаться от исходного.
Компиляция:
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:
имеет тип bool, C99 стандарт через define не считается.
AsmX перед другими ассемблерами (TASM / FASM / NASM / MASM):
имеет несколько видов структур.
импорт файлов, бибилиотек можно осуществлять в начале файла.
есть возможность писать в VS Code (у FASM своя IDE FASMW).
имеет типизацию.
AsmX vs другие языки программирования у которых нету таких воможностей:
имеет перегрузку функций и даже корутин.
имеет возможность наследовать несколько классов.
имеет свою структуру данных collection которая позволяет хранить значения сразу, не путать с struct.
AsmX vs C++:
имеет встроенный json namespace.
имеет полноценную работу с корутинами.
Практические примеры использования AsmX
С помощью AsmX вы можете разработать аналог программы Postman, будучи в состоянии отправлять HTTP-запросы и получать ответы. Также вы можете создать своего собственного бота для Telegram, используя функциональность AsmX.
Помимо этого, AsmX можно использовать для написания консольных игр или визуализации данных. Вы можете реализовать графический интерфейс пользователя (GUI) для десктопных приложений с помощью AsmX Engine, используя пользовательские инструкции.
Возможности AsmX не ограничены только перечисленными примерами - ваша фантазия является единственным ограничением!
Заключение
Для более подробной информации возможностей, новостях AsmX можно узнать в Telegram.
Комментарии (34)
Number571
27.08.2023 06:40+5В составе AsmX присутствует мини-операционная система под названием AsmX OS. Следует отметить, что данная ОС не является полноценной и предназначена для специфических задач.
Ни в каком смысле этого слова данное приложение просто не может считаться какой бы то ни было ОС. Это обычное консольное приложение, запускаемое в уже существующей ОС, которое поддерживает JS и ноду. И непонятно где вы использовали AsmX при написании даже этой "ОС". Всё что я вижу - это голый JS.
Stepashka20
27.08.2023 06:40+3Это какой то ужас... Как может повернуться язык назвать это ЯП, когда это переводчик в обычный node js ????
VasiliiKirienko
27.08.2023 06:40+2Это даже не переводчик, это интерпретатор. Он читает из файла код разбирает его if'ами и выполняет сразу же. Ни компиляции в бинарники, ни трансляции в node недоступно.
VasiliiKirienko
27.08.2023 06:40+2Здравствуй, дорогой Маск. Это я, твой единственный тестировщик. Меня очень огорчает твоя осведомлённость о плюсах. Местная поддержка корутин намного полнее той, что ты сделал для своего языка. По поводу json namespace. Судя по всему, все объекы языка AsmX хранятся в формате json, что с точки зрения памяти, локальности кэша и выполнения операций во время компиляции - значительно хуже стандартной модели памяти C++.
VasiliiKirienko
27.08.2023 06:40А по поводу плюсов забыл добавить. C++ в 72.2 триллиона раз быстрее AsmX.
nuclight
27.08.2023 06:40+3Если кто не в курсе, автор - 16-летний школьник, эдакий новый Денис Попов, на полном серьезе выдающий себя за Илона Маска в Telegram (в чате kepka_support уже месяц творится цирк из-за отсутствия модераторов), его прошлый пост по теме уже удаляли с Хабра, самого его забанили уже даже и на Гитхабе (за спам предложениями своего "языка" в частности, в Kolibri OS). На любую критику отвечает "какая зависть". Скорее всего, психически больной, а-ля "Наполеон из 6 палаты".
VasiliiKirienko
27.08.2023 06:40+2Для полного понимания текущего состояния языка рекомендую статью: https://habr.com/ru/articles/757392/
ElonReeve Автор
27.08.2023 06:40-5Для полного понимания рекомендую удалить этот коментарий, вся ложная информация в ней очень много содержится. Самый бесполезный ваш пост. Диванный эксперт, не как иначе.
VasiliiKirienko
27.08.2023 06:40+2Диванный эксперт ака единственный, кто код на твоём языке запускает
VasiliiKirienko
27.08.2023 06:40+2Я готов удалить всю ложную информацию, если вы укажете на неё и докажите, что она ложная.
ElonReeve Автор
27.08.2023 06:40-5Вау, вы не умеете читать, ты в глаза долбишься? Ты отличить int от float не можешь, с тобой бесполезно разговаривать.
VasiliiKirienko
27.08.2023 06:40+2Нет, у тебя в языке очень долго дробные числа записывались в Int, я попытался этим воспользоваться в твою пользу. Не получилось.
nuclight
27.08.2023 06:40+1@moderatorздесь уже был прецедент с этим человеком с постом про тот же AsmX
ElonReeve Автор
27.08.2023 06:40-2Ого, вот это вызов.
VasiliiKirienko
27.08.2023 06:40Злой хабр ущемляет разроботчика точно рабочего языка, распространите. Как там протокол кста?
nuclight
27.08.2023 06:40@moderator он переименовал статью в чужую https://habr.com/ru/articles/757392/
VasiliiKirienko
27.08.2023 06:40Я только сейчас заметил
Для запуска скомпилированного файла можно воспользоваться декомпилятором, который выводит информацию о файле App.
Он буквально говорит, что для исполнения нужна декомпиляция, и думает, что его язык правильно работает.
ElonReeve Автор
27.08.2023 06:40-3Нет, тут имеется ввиду что если ты не знаешь версию App файла, чтобы вызывать нужную версию компилятора, можно воспользоваться декомпилятором который поможет в этом деле.
ElonReeve Автор
27.08.2023 06:40Зачем минус поставили? Вам что, делать больше нечего?
VasiliiKirienko
27.08.2023 06:40Потому что постправда(ака "я не это имел ввиду") приём дешёвый и низкосортный
VasiliiKirienko
27.08.2023 06:40А почему для просмотра информации о версии компилятора нужна декомпилиция? Декомпилятор правильной версии ты автоматически подбираешь. Сверху есть бенчмарки, которые показывают, что исполнение .app v2 медленнее простой интерпретации в полтора раза. Из менее важных недочётов: почему стандартная версия компилятора - первая, а не последняя? почему компилятор не может проверить используются ли не поддерживаемые v1 инструкции и автоматически использовать v2 в таком случае? Или он просто интерпретатор и ему нужно знать заранее о том, как интерпретировать код, так как заранее распарить все инструкции он не может?
ElonReeve Автор
27.08.2023 06:40-1Скажи честно, ты тупой? Ты уже который раз в глаза долбишься. Либо ты так жирно троллить собрался.
VasiliiKirienko
27.08.2023 06:40+1Классно ты опровергает информацию, подкреплённую бенчмарками. Сказал бы хоть, что они неправильные. Почему дефолт версия первая - не важно, ведь я в глаза долблюсь. Почему декомпилятор выбирается автоматически, а компилятор - нет, тоже не важно, я-то в глаза долблюсь. Может у тебя текст в бинарниках вместо бинарных символов тоже потому, что я в глаза долблюсь?
UPD: Компилятор тоже стал интерпретатором, из-за того, что я в глаза долблюсь? Не знал, что мои глаза - кор фитча AsmX, и манипуляции с ними ломают его напрочь.
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 отсутствует.
ElonReeve Автор
27.08.2023 06:40-1Пункт 1: на данный момент в AsmX отсутствуют встроенные http и telegram api.
ТЫ В ГЛАЗА ОПЯТЬ ДОЛБИШЬСЯ.
Призываю не верить утверждениям автора о том, что на AsmX можно что-то реализовать, пока вы не увидите, собственно, реализацию.
Человек, купи себе мозги и займись чем-то, а не распространять ложную информацию. Просто скажите что у вас зависть, просто Envy.
VasiliiKirienko
27.08.2023 06:40Опять ярко видно ваш уровень дискуссии. Вместо ссылки на пример с применением http/telegram api, вы начинаете меня прямо оскорблять и переходить на личности. И моя дезинформация(основанную на тестах и бенчмарках, в том числе задокументированных) почему-то хуже вашей правды, основанной только на ваших словах.
VasiliiKirienko
27.08.2023 06:40Нормально, что размер скомпилированного файла может отличаться от исходного
У тебя размер "скомпилированного" файла может в 15000 раз превышать размер исходного кода. Пруфы давным-давно задокументированы во второй статье на телеграфе, прекрасно знаешь, где посмотреть.
mobi
Это как? :-)
HemulGM
В "ядре" языка есть комментарий, где написано "Мы поддерживаем тебя, Тьюринг" и "Давай, Тьюринг, ты сможешь"