Релиз языка программирования Crystal 1.16
9 апреля 2025 года состоялся релиз языка программирования Crystal 1.16 (проект доступен онлайн для ознакомления). В этом проекте авторы решения пытаются совместить удобство разработки на языке Ruby с высокой производительностью приложений, свойственной языку C. Исходный код проекта опубликован на GitHub под лицензией Apache License 2.0.
По информации OpenNET, синтаксис Crystal близок к языку Ruby, но не полностью совместим с ним, несмотря на то, что без переработки выполняются некоторые ruby-программы.
В языке Crystal применяется статическая проверка типов, реализованная без необходимости явного указания типов переменных и аргументов методов в коде. Программы на Crystal компилируются в исполняемые файлы, с вычислением макросов и генерацией кода во время компиляции. В программах на языке Crystal допускается подключение биндингов, написанных на языке C. Распараллеливание выполнения кода производится при помощи ключевого слова «spawn», которое позволяет запустить фоновую задачу в асинхронном режиме, не блокируя основной поток, в виде легковесных потоков, именуемых файберами (Fiber).
Стандартная библиотека Crystal предоставляет набор типовых функций, среди которых средства для обработки CSV, YAML, и JSON, компоненты для создания HTTP‑серверов и поддержки WebSocket. В процессе разработки кода на Crystal можно использовать команду «crystal play», которая формирует веб‑интерфейс (по умолчанию localhost:8080) для интерактивного выполнения кода на языке Crystal.
Основные изменения и доработчик в Crystal 1.16:
добавлена экспериментальная поддержка запуска легковесных потоков (fiber) в отдельных контекстах исполнения (Execution Contexts), что позволяет добиться более эффективного параллельного выполнения задач — блокировка потоков
Читать на habr.com