Crystal – простой, как Ruby, и «быстрый», как C

02.04.2021      26446

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

Подробнее о Cristal

Crystal – это объектно-ориентированный язык программирования общего назначения, разработанный Ари Боренсвейгом, Хуаном Вайнерманом, Брайаном Кардиффом и другими участниками проекта. Синтаксис Crystal вдохновлен языком Ruby.

Crystal – скомпилированный язык со статической проверкой типов. Язык не требует указывать типы переменных или аргументов метода, так как они определяются с помощью расширенного алгоритма вывода глобального типа.

Crystal компилируется в эффективный код с использованием серверной части LLVM за счет исключения динамических аспектов Ruby. Расширенный вывод глобального типа в сочетании с использованием объединения типов делает Crystal языком сценариев более высокого уровня, чем схожие языки программирования. Язык имеет автоматизированную сборку мусора и использует сборщик Boehm.

История

Работа над языком началась в июне 2011 года аргентинской компанией Manas Technology Solutions. Главной целью было объединить элегантность и производительность Ruby со скоростью, эффективностью и безопасностью типов компилируемого языка. Изначально его назвали Joy, но вскоре переименовали в Crystal.

Первая официальная версия была выпущена в июне 2014 года. В июле 2016 года Crystal вошел в индекс TIOBE.

Релиз Crystal 1.0 можно найти на GitHub, а инструкции по установке и примечания к выпуску на официальном сайте. Создатели Crystal планируют выпускать отладочные релизы с исправлением ошибок, а новые функции зарезервированы для последующих второстепенных выпусков.

Некоторые функции в Crystal 1.0 называются «предварительными» и еще не поддерживаются официально, включая поддержку Windows, многопоточность и поддержку Arm.

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

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

Языковая стабильность

Создатели языка обещают, что все выпуски Crystal 1.x будут обратно совместимы без критических изменений. Стандартная библиотека будет улучшена с учетом обратной совместимости.

Чтобы повысить предсказуемость проекта, разработчики планируют выпускать отладочные версии в виде исправлений. Например, первый выпуск обслуживания – 1.0.1. Он будет включать только исправления существующих функций.

Новые функции будут зарезервированы для следующих второстепенных выпусков: 1.x.


Автор:
Обозреватель


См. также

Новость ИТ-Новость

Российский Альянс по искусственному интеллекту обновил требования к специалистам по ИИ: вышла новая модель с основными профессиями и навыками. Теперь базовых профессий в сфере ИИ осталось только четыре.

01.11.2024    670    user1915669    0       

2

Новость ИТ-Новость

Система платежей «Волна» по планам сделает возможной бесконтактную оплату для владельцев IPhone в России, а BRICS Pay позволит совершать безналичные расчеты иностранцам по картам Visa и Mastercard.

23.10.2024    896    AnastasiaKl    0       

3

Новость ИТ-компания ИТ-Новость

Конструктор сайтов Wix уходит из России с 12 сентября 2024 года – перестанут работать все российский аккаунты. Сайты, привязанные к аккаунтам, также перестанут работать.

11.09.2024    945    user1915669    2       

2

Новость Искусственный интеллект ИТ-Новость

ИИ научат разработке цифровых интегральных микросхем – несколько российских научных институтов заявили об участии в проекте. Проект рассчитан на 3 года – с 2024 по 2026.

23.07.2024    600    user1915669    0       

2

Новость Дата-центры Искусственный интеллект ИТ-Новость

Развитие искусственного интеллекта и цифровых сервисов в России стало причиной роста потребности в мощных центрах обработки данных. Эксперты прогнозируют, что дефицит ЦОД, который уже наблюдается сегодня, в ближайшие годы будет только усиливаться.

18.07.2024    720    AnastasiaKl    0       

1

Новость ИТ-Новость

В сентябре 2024 года видеоигры в России начнут маркировать – пока на добровольной основе. Геймерам будут сообщать о семи видах чувствительного (неприятного) контента в игре.

17.07.2024    801    user1915669    0       

1

Новость Законодательство ИТ-Новость

Депутаты Госдумы работают над законопроектом по ужесточению контроля за электросамокатами. Среди мер: обязательная регистрация СИМ (средств индивидуальной мобильности) и разработка системы отслеживания их перемещений.

10.07.2024    769    AnastasiaKl    2       

1

Новость Искусственный интеллект ИТ-Новость

В 2024 году «Сколково» выделит пилотным проектам в сфере искусственного интеллекта гранты на общую сумму 554 млн рублей. В результате отбора финансирование получат проекты с применением ИИ в областях производства, операционной деятельности и в работе предоставляемых сервисов.

12.04.2024    1647    AnastasiaKl    3       

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Darklight 33 02.04.21 15:11 Сейчас в теме
Немного специфический синтаксис у языка. Но, это скорее дело привычки. По сути ничего особо нового язык не предлагает - так или иначе всё это уже есть в других языках (или уже анонсировано), или не является каким-то весомым преимуществом

А вот, сколько всего в Crystal отсутствует, из того, что уже есть в других языках...

И система выведения типов аргументов у него какая-то ну очень странная
Оставьте свое сообщение