Версия 1.0 похожая на Ruby Хрустальный язык прибыла, и ее создатели обещают стабильность языка для всех будущих выпусков 1.x. Пользователи могут ожидать, что все выпуски Crystal 1.x будут обратно совместимы, без критических изменений.

В выпуске Crystal 1.0 создатели языка гарантируют тем, кто хочет использовать язык в производственной среде, что он не будет переходить от одной версии к другой. Пользователи будущих версий Crystal 1.x могут ожидать, что их существующий код Crystal по-прежнему будет компилироваться и работать без какой-либо значительной несовместимости. Функции языка и стандартной библиотеки не будут удалены или изменены таким образом, чтобы существующий код не компилировался и не работал. Стандартная библиотека будет улучшена с учетом обратной совместимости.

По словам создателей Crystal, синтаксис Crystal был вдохновлен Ruby, что делает язык легким для чтения и записи, снижая при этом кривую обучения для опытных разработчиков Ruby. Статическая проверка типа позволяет компилятору обнаруживать ошибки, а не ждать ошибки во время выполнения.

Релиз Crystal 1.0, представленный 22 марта, можно найти на GitHub, и инструкции по установке в crystal-lang.org. Создатели Crystal планируют отладочные выпуски с исправлениями ошибок, а новые функции зарезервированы для последующих второстепенных выпусков. Некоторые функции в выпуске Crystal 1.0 называются «предварительными» и еще не поддерживаются официально, включая поддержку Windows, многопоточность и поддержку Arm.

Особенности и особенности Crystal 1.0:

  • Встроенный вывод типов устраняет необходимость в большинстве аннотаций типов.
  • Специальный синтаксис для вызова собственных библиотек избавляет от необходимости повторно реализовывать низкоуровневые задачи.
  • Компилятор автоматически проверяет наличие пустых ссылок во время компиляции.
  • Для параллелизма Crystal использует потоки, называемые волокнами, для связи друг с другом без использования общей памяти или блокировок.
  • Библиотеки упакованы как шарды и распространяются через Git без необходимости в центральном репозитории. Встроенные команды позволяют указывать зависимости через файл YAML и извлекать их из соответствующих репозиториев.
  • Макросистема, состоящая из методов, которые получают узлы AST во время компиляции и создают код, который вставляется в программу, служит ответом Crystal на метапрограммирование.

Авторские права © 2021 IDG Communications, Inc.


#Rubylike #Crystal #дебютирует

Source link