Язык Crystal пытается совместить производительность Си и удобство Ruby
Синтаксис Crystal очень близок к языку Ruby (без переработки выполняются некоторые ruby-программы), но разработчики не ставят целью обеспечение полной совместимости. В языке применяется статическая проверка типов, но без необходимости явного указания типов переменных и аргументов методов в коде. Программы на Crystal компилируются в исполняемые файлы, с вычислением макросов и генерацией кода во время компиляции. С производительностью не всё однозначно: на текущей альфа-стадии развития в одних тестах Crystal опережает Ruby в 40 раз, но в отдельных тестах в 4-5 раз проигрывает по скорости выполнения.
В программах на языке Crystal допускается подключение биндингов, написанных на языке Си. Распараллеливание выполнения кода осуществляется при помощи ключевого слова spawn, которое позволяет запустить фоновую задачу в асинхронном режиме, не блокируя основной поток, в виде легковесных потоков, именуемых фибрами (Fiber).
Стандартная библиотека предоставляет большой набор типовых функций, в том числе средства для обработки CSV, YAML, и JSON, компоненты для создания HTTP-серверов и поддержки WebSocket. В процессе разработки удобно использовать команду "crystal play" которая формирует web-интерфейс (по умолчанию localhost:8080) для интерактивного выполнения кода на языке Crystal.
Источник: http://www.opennet.ru/opennews/art.shtml?num=44930
|
0 | Tweet | Нравится |
|