HTML Diff
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>