Crystal, новый язык программирования с синтаксисом, похожим на Ruby, достиг версии 1. Разработчики говорят, что синтаксис языка теперь стабилен, и они запланировали выпуски для обслуживания. Crystal-это язык программирования с синтаксисом, похожим на Ruby, хотя совместимость с Ruby не является целью разработчиков.
Crystal статически проверяется на тип, но без необходимости указывать тип переменных или аргументов метода. Он поддерживает вызов кода C, записывая привязки к нему в Crystal, и компилируется в эффективный машинный код. Он также обеспечивает оценку во время компиляции и генерацию кода, чтобы избежать шаблонного кода.
Разработчики говорят, что решения о том, как должен выглядеть Кристалл, были приняты потому, что им нравится эффективность Ruby для написания кода и эффективность C для запуска кода, и они хотели лучшего из обоих миров.
Главное обещание версии 1.0-стабильность языка. Команда разработчиков сказала, что:
«После этого выпуска каждый может ожидать, что, по крайней мере, для любой будущей версии 1.x, ваш код все еще может компилироваться и работать без какой-либо существенной несовместимости. Языковые и стандартные библиотечные функции не будут удалены или изменены каким-либо образом, что может помешать компиляции и работе существующего кода. Встроенная стандартная библиотека будет продолжать обогащаться, но всегда с учетом обратной совместимости.»
Они действительно сказали, что, поскольку у сообщества каждый день появляются «новаторские идеи», в будущем произойдут изменения, но теперь эти изменения относятся к отдельной ветви, которая в конечном итоге станет Crystal 2.0.
Изменения в языке по сравнению с предыдущей версией Crystal включают дополнительную поддержку кортежей. Они позволяют типобезопасные методы доступа с литеральными индексами, поскольку компилятор знает, к какому типу относится каждый компонент, и в Crystal 1.0 вы также можете использовать кортежи с литеральными диапазонами.
Существует ряд функций, которые не поддерживаются в версии 1.0, поскольку команда не уверена в их стабильности. Более важные функции будут доступны, просто без официальной поддержки на данный момент. К ним относятся доступность в Windows, возможность запуска среды выполнения Crystal на нескольких ядрах и поддержка ARM.