0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
1
<p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
2
<p>Пока мы увлечённо следили за перипетиями российской лунной миссии, в IT <a>появился</a>свой "лунный" проект - язык Moonbit, предназначенный для компиляции в WebAssembly. Один из авторов проекта - Хунбо Чжан, который до Moonbit участвовал в создании языков OCaml, Flow и ReScript (JS на максималках со статической типизацией и другими фишками).</p>
2
<p>Пока мы увлечённо следили за перипетиями российской лунной миссии, в IT <a>появился</a>свой "лунный" проект - язык Moonbit, предназначенный для компиляции в WebAssembly. Один из авторов проекта - Хунбо Чжан, который до Moonbit участвовал в создании языков OCaml, Flow и ReScript (JS на максималках со статической типизацией и другими фишками).</p>
3
<p>Если вы следите за ситуацией в веб-разработке, то наверняка слышали о WebAssembly - платформе, которая позволяет быстро исполнять в браузере код на любом языке: C++, Rust, Golang и других. Считается, что в будущем WebAssembly может забрать у JavaScript лавры главного языка фронтенда.</p>
3
<p>Если вы следите за ситуацией в веб-разработке, то наверняка слышали о WebAssembly - платформе, которая позволяет быстро исполнять в браузере код на любом языке: C++, Rust, Golang и других. Считается, что в будущем WebAssembly может забрать у JavaScript лавры главного языка фронтенда.</p>
4
<p>Но сейчас в мире разработки под WebAssembly существует проблема: очень мало языков умеют нормально работать с платформой. Так, низкоуровневые Rust и C++ собираются в компактный байт-код, но делают это долго и в целом сложны для освоения. Языки высокого уровня типа Go проще в обращении, но результирующий код получается настолько громоздким, что нивелирует все преимущества WebAssembly.</p>
4
<p>Но сейчас в мире разработки под WebAssembly существует проблема: очень мало языков умеют нормально работать с платформой. Так, низкоуровневые Rust и C++ собираются в компактный байт-код, но делают это долго и в целом сложны для освоения. Языки высокого уровня типа Go проще в обращении, но результирующий код получается настолько громоздким, что нивелирует все преимущества WebAssembly.</p>
5
<p>Moonbit же нацелен на то, чтобы решить сразу все эти проблемы:</p>
5
<p>Moonbit же нацелен на то, чтобы решить сразу все эти проблемы:</p>
6
<ul><li>Во-первых - довольно быстро компилируется благодаря инкрементальной пересборке и распараллеливанию операций.</li>
6
<ul><li>Во-первых - довольно быстро компилируется благодаря инкрементальной пересборке и распараллеливанию операций.</li>
7
<li>Во-вторых - не использует конструкции, которые влияют на размер генерируемого кода.</li>
7
<li>Во-вторых - не использует конструкции, которые влияют на размер генерируемого кода.</li>
8
<li>А в-третьих - обладает довольно гуманным синтаксисом, вдохновлённым Go и Rust, что можно заметить на скриншоте:</li>
8
<li>А в-третьих - обладает довольно гуманным синтаксисом, вдохновлённым Go и Rust, что можно заметить на скриншоте:</li>
9
</ul><em>Скриншот: MoonBit / Skillbox Media</em><p>Как и язык Go, Moonbit берёт на себя работу с памятью: программисту не нужно следить за утечками и чистить программу от мусорных ссылок. При этом шансов "выстрелить в ногу" даже меньше, чем при работе с Go, - например, Moonbit не поддерживает указатели и другие опасные конструкции.</p>
9
</ul><em>Скриншот: MoonBit / Skillbox Media</em><p>Как и язык Go, Moonbit берёт на себя работу с памятью: программисту не нужно следить за утечками и чистить программу от мусорных ссылок. При этом шансов "выстрелить в ногу" даже меньше, чем при работе с Go, - например, Moonbit не поддерживает указатели и другие опасные конструкции.</p>
10
<p>Сейчас проект находится на стадии альфа-тестирования: разработчикам<a>доступны</a>только бинарные сборки компилятора для macOS и Ubuntu, а также виртуальная среда разработки, где можно пощупать язык и собрать первую программу.</p>
10
<p>Сейчас проект находится на стадии альфа-тестирования: разработчикам<a>доступны</a>только бинарные сборки компилятора для macOS и Ubuntu, а также виртуальная среда разработки, где можно пощупать язык и собрать первую программу.</p>
11
<p>В будущем авторы языка обещают завезти продвинутые инструменты разработки, включая пакетный менеджер, плагин для VS Code и даже собственную браузерную IDE. Полноценный релиз языка и его инфраструктуры намечен на второй квартал 2024 года.</p>
11
<p>В будущем авторы языка обещают завезти продвинутые инструменты разработки, включая пакетный менеджер, плагин для VS Code и даже собственную браузерную IDE. Полноценный релиз языка и его инфраструктуры намечен на второй квартал 2024 года.</p>
12
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
12
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>