Pull to refresh
24
Karma
0
Rating
Павел @RoPi0n

Software engineer, Senior Mash developer :)

  • Followers 42
  • Following

Язык программирования Mash

High performance *Open source *Assembler *Compilers *GitHub

http://mash-project.org
https://github.com/RoPi0n/mash-lang

Mash?


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



Интересно? Тогда под кат!
Читать дальше →
Total votes 46: ↑39 and ↓7 +32
Views 18K
Comments 67

Mash — язык программирования, компилирует сам себя

High performance *Java *Virtualization *Compilers *
image

Приветствую всех в новом 2020-м году.

С момента публикации первого поста про Mash прошел практически ровно 1 год.

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

Этим всем я рад поделиться с сообществом.
Читать дальше →
Total votes 26: ↑20 and ↓6 +14
Views 11K
Comments 8

Стажировка в JetBrains и как мне почти удалось попасть на неё

Programming *Algorithms *Compilers *
Tutorial
image

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

Недавно я попробовал попасть в ряды JetBrains и под катом готов поделиться полученным опытом.
Читать дальше →
Total votes 51: ↑34 and ↓17 +17
Views 40K
Comments 78

Mash: multithreading, coroutines, async & wait

Virtualization *Algorithms *Learning languages
Tutorial
image

Предисловие


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

Если у вас есть желание попробовать его в действии самому — скачивайте репозиторий проекта, в нем вы сможете найти собранную версию проекта или же собрать её самостоятельно, для своей ОС.

Введение


Многопоточность и асинхронность в наше время являются одними из важнейших составляющих современных языков программирования.

Поэтому я решил добавить в свой язык программирования поддержку современных конструкций и технологий, отчасти путем добавления в язык простых и удобных конструкций.
Читать дальше →
Total votes 14: ↑7 and ↓7 0
Views 4.1K
Comments 23

Mash, основы языка

Open source *Virtualization *Compilers *Brain Learning languages
Tutorial
image

Предисловие


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

Если у вас есть желание попробовать его в действии самому — скачивайте репозиторий проекта, в нем вы сможете найти собранную версию проекта или же собрать её самостоятельно, для своей ОС.

В данной статье будет описан небольшой мануал по проекту и рассмотрен синтаксис языка.
Читать дальше →
Total votes 15: ↑9 and ↓6 +3
Views 4.9K
Comments 24

Пишем свой язык программирования, часть 4: Представление структур и классов, генерация аллокаторов

High performance *Open source *Virtualization *Compilers *Brain
image

Доброго времени суток тем, кто решил ознакомиться с моей очередной статьёй.

Первым делом выкладываю ссылки на предыдущие части:
Часть 1: пишем языковую ВМ
Часть 2: промежуточное представление программ
Часть 3: Архитектура транслятора. Разбор языковых структур и математических выражений

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

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

Сейчас перед нами стоит задача добавления в язык структур и классов, для того чтобы он имел функциональность современных аналогов. В данной статье не будет приведен код описываемой
функциональности, т.к. его много, он довольно скучный и далеко не всем будет интересно в нем копаться. Только теория. И немного картинок.

Начнем творить…
Читать дальше →
Total votes 23: ↑20 and ↓3 +17
Views 11K
Comments 0

Пишем свой язык программирования, часть 3: Архитектура транслятора. Разбор языковых структур и математических выражений

High performance *Open source *Virtualization *Compilers *Brain
Tutorial
image

Введение


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

Для начала, по устоявшимся традициям, я приведу ссылки на предыдущие статьи:

Часть 1: пишем языковую ВМ
Часть 2: промежуточное представление программ

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

Также мне стоит разместить сразу ссылку на статью о проекте, который был написан мной ранее и на основе которого идет весь этот разбор полётов: Клац сюды. С ним пожалуй стоит ознакомиться первым делом.

И немного о проекте:

Небольшой сайт проекта
GitHub репозиторий

Ну и также скажу сразу, что все написано на Object Pascal, а именно — на FPC.

Итак, начнем.
Читать дальше →
Total votes 30: ↑23 and ↓7 +16
Views 8.8K
Comments 22

Пишем свой язык программирования, часть 2: промежуточное представление программ

High performance *Open source *Virtualization *Software Brain
Tutorial
image

Введение


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

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

В первой части (линк: habr.com/post/435202) я описал этапы проектирования и написания языковой ВМ, которая будет выполнять наши будущие приложения на нашем будущем языке.
В этой статье я планирую описать основные этапы создания промежуточного языка программирования, который будет собираться в абстрактный байткод для уже непосредственного выполнения на нашей ВМ.

Думаю, что не помешает сразу привести ссылки на сайт проекта и его репозиторий.

Сайт
Репозиторий
Читать дальше →
Total votes 26: ↑20 and ↓6 +14
Views 14K
Comments 1

Пишем свой язык программирования, часть 1: пишем языковую ВМ

High performance *Open source *Virtualization *Software Brain
Tutorial

Введение


Доброго времени суток всем хабрачитателям!

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

Я буду описывать создание языка, который описал ранее тут.

Он заинтересовал многих и вызвал бурную дискуссию в комментариях. Следовательно — тема интересна многим.

Думаю, что сразу стоит выложить информацию о проекте:

Сайт (будет заполнен документацией чуть позже).
Репозиторий

Чтобы самому потрогать проект и увидеть все в действии, лучше скачать репозиторий и запускать все из папки bin. В релиз я не спешу выкладывать последние версии языка и среды выполнения, т.к. мне порой бывает просто лень это делать.

Кодить я умею на C/C++ и на Object Pascal. Проект я писал на FPC, т.к. на мой взгляд этот язык гораздо проще и лучше подходит для написание подобного. Вторым определяющим фактором стало то, что FPC поддерживает огромное количество целевых платформ и пересобрать проект под нужную платформу можно с минимумом переделок. Если вы по непонятным мне причинам не любите Object Pascal, то не спешите закрывать пост и бежать кидаться камнями в комментарии. Этот язык весьма красив и нагляден, а кода я буду приводить не так уж и много. Только то, что нужно.

Итак, начну пожалуй я своё повествование.
Читать дальше →
Total votes 34: ↑27 and ↓7 +20
Views 25K
Comments 26

Новый язык программирования Mash

Perfect code *Virtualization *Compilers *ООP *
Sandbox
На протяжении нескольких лет я пробовал свои силы в разработке своего языка программирования. Мне хотелось создать на мой взгляд максимально простой, полнофункциональный и удобный язык.

В этой статье я хочу осветить основные этапы своей работы и для начала описать созданный концепт языка и его первую реализацию над которой сейчас работаю.
Читать дальше →
Total votes 86: ↑70 and ↓16 +54
Views 47K
Comments 201

Information

Rating
Does not participate
Registered
Activity