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

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

02.04.2021     

Вышел первый стабильный релиз языка 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.



Источник: https://infostart.ru/journal/news/tekhnologii/crystal-prostoy-kak-ruby-i-bystryy-kak-c_1416114/
Автор:
Сергей Кравченко Обозреватель


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

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

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

См. также

Google добавит в Chrome режим приоритетной загрузки сайта по HTTPS

Новость Безопасность Интернет ИТ-новость

В новой версии Google Chrome появится режим HTTPS-First, который заставит браузер всегда пытаться загружать сайты по защищенному протоколу. В будущих релизах веб-обозревателя эта функция будет включена по умолчанию.

21.07.2021    671    VKuser24342747    0       

JetBrains назвала JavaScript и SQL самыми популярными языками в России

Новость Аналитика ИТ-новость Языки программирования

Компания JetBrains провела ежегодный опрос об экосистеме разработки в 2021 году. В нем приняли участие 31 743 разработчика из 183 стран, в том числе из Российской Федерации и СНГ.

21.07.2021    1020    VKuser24342747    2       

MongoDB с последней версией Atlas стал бессерверным

Новость СУБД ИТ-новость

13 июля MongoDB представила версию 5.0 платформы баз данных NoSQL. Последние обновления поддерживают многие рабочие нагрузки в бессерверном режиме. Новая версия включает новые возможности для приложений и улучшения конфиденциальности и безопасности.

20.07.2021    1347    SKravchenko    1       

«Яндекс» представил уникальный сервис для автоматического перевода видео

Новость Искусственный интеллект ИТ-новость Новости компаний Яндекс

«Яндекс» разработал прототип сервиса на базе нейросети, который в режиме реального времени переводит иностранные ролики на русский язык и озвучивает их. По словам компании, технология не имеет аналогов в мире.

20.07.2021    722    VKuser24342747    1       

Появился способ игнорировать запрет установки Windows 11 на слабые ПК

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

Новая Windows 11 не может быть установлена на компьютеры, которые не соответствуют системным требованиям, определенным разработчиками. Однако продвинутые пользователи нашли способ обойти это ограничение.

19.07.2021    804    VKuser24342747    0       

На свежих процессорах Intel создали микрокомпьютер под Windows 10

Новость Windows Гаджеты ИТ-новость Микроэлектроника

Энтузиасты и стартаперы полюбили Arduino и Raspberry Pi. Но инженеры Commate Computer (Commell) пошли дальше и представили миниатюрный ПК LE-37O на базе новейших чипов Intel Tiger Lake. И на нем можно запустить Windows 10.

16.07.2021    909    user1015646    3       

Вот это поворот: Microsoft выпустила дистрибутив Linux

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

Пока мир замер в ожидании новой Windows 11, Microsoft решила преподнести пользователям большой сюрприз – и представила собственный дистрибутив Linux, CBL-Mariner 1.0.

15.07.2021    1338    user1015646    2       

Стартовала программа возмещения затрат разработчикам на скидки для малого бизнеса

Новость Законодательство Импортозамещение ИТ-новость Облачные технологии

Утверждена программа, в которой предусмотрено субсидирование разработки облачного программного обеспечения для малого и среднего бизнеса, а также скидки на софт, разработанный в рамках данной программы, до 50%.

15.07.2021    619    ЕленаЧерепнева    0       

Исследователи установили: ИИ-программы для собеседований не понимают речь соискателя

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

Эксперты из Массачусетского технологического института (MIT) изучили приложения, анализирующие резюме кандидатов. Ученые пришли к выводу, что такой софт плохо справляется с задачами и дает неверные результаты.

14.07.2021    496    VKuser24342747    1       

Юбилейный индекс TIOBE на июль. Рейтинг отмечает 20-летие

Новость ИТ-новость Рейтинг Языки программирования

Ежемесячный индекс TIOBE показывает, какие языки программирования наиболее популярны, и как их популярность растет с течением времени. В июле TIOBE отмечает 20-летие, публикует новый рейтинг и график популярности языков программирования за 20 лет.

12.07.2021    1030    SKravchenko    0       

Google сделает обязательной двухэтапную аутентификацию для аккаунтов разработчиков

Новость Google ИТ-новость Мобильные приложения

До конца года всем разработчикам мобильных приложений для продуктов Google нужно подключить двухэтапную аутентификацию. Также им придется пройти дополнительную верификацию личности. 

08.07.2021    1010    VKuser24342747    1       

Google установил новый обязательный формат для Android-приложений

Новость Google ИТ-новость Мобильные приложения Новости компаний

Компания Google объявила, что стандарт приложений Android App Bundle (AAB) станет обязательным в Play Store. Он заменит монолитный формат APK.

07.07.2021    1585    user1015646    0       

Токен исходного кода интернета продали с аукциона

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

NFT-токены – уникальные двойники цифровых произведений – становятся все популярнее: их стали предлагать на традиционных аукционах с вековой историей. На этот раз ушел с молотка токен исходного кода интернета – на Sotheby’s его продали за 5,43 млн долларов США.

06.07.2021    2206    user1015646    0       

Российский разработчик научил нейросеть генерировать голос Геральта из The Witcher 3

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

Программист под ником nikich340 создал модификацию A Night to Remember для игры The Witcher 3: Wild Hunt, в которую добавлены новые реплики главного героя, озвученные нейросетью. 

06.07.2021    1515    VKuser24342747    0       

Linux получил крупнейшее обновление с момента выпуска пятой версии

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

Представлен первый стабильный релиз ядра Linux 5.13. По словам Линуса Торвальдса, это один из самых значительных релизов 5.x. ОС получила возможность корректно работать на процессорах Apple M1 и Intel Alder Lake.

05.07.2021    1556    VKuser24342747    4       

Amazon запустил конкурс на поиск уязвимостей AWS BugBust

Новость Безопасность ИТ-новость

Компания Amazon объявила о новом челлендже по поиску уязвимостей в AWS. И это не традиционная баунти-программа: здесь куда больше геймификации и амбициозная цель – совместно избавиться от 1 миллиона багов.

05.07.2021    1586    user1015646    0       

ИИ-помощник для программистов от Microsoft сможет дописывать код

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

Microsoft и GitHub представили совместный проект Copilot («второй пилот») на базе технологий организации OpenAI. Ассистент способен анализировать код и предлагать варианты завершения строк в зависимости от контекста. 

05.07.2021    1789    VKuser24342747    2       

В России начнет работу единая статистическая платформа

Новость Аналитика ИТ-новость

Правительство согласовало положение, которое предусматривает создание к 2022 году сервиса для объединения всех государственных ресурсов статистики. Новая разработка также унифицирует принципы работы с данными. 

02.07.2021    1109    VKuser24342747    0       

Обновление GitLab 14: представлены новые DevOps-инструменты в рамках единой платформы

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

Компания GitLab Inc. выпустила свежий релиз – теперь с интегрированной платформой DevOps-специалистов.

01.07.2021    1659    user1015646    0       

Отечественные компании разработали автоматизированную систему для муниципальных услуг

Новость Автоматизация ИТ-новость

«Базальт СПО», МЦСТ, «Байкал Электроникс», ЭОС и «МойОфис» представили многоместное автоматизированное рабочее место (АРМ). Для тестового запуска системы выбраны госучреждения Орла. 

01.07.2021    1135    VKuser24342747    1       

Новый доклад CompTIA: в Европе вырос спрос на технических специалистов

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

Согласно новому отчету CompTIA, одной из ведущих торговых ассоциаций ИТ-индустрии, спрос работодателей на технических работников в 10 европейских странах увеличился за первый квартал 2021 года. Работодатели разместили 900 тысяч объявлений о вакансиях.

01.07.2021    1529    SKravchenko    0       

Раскрыта неожиданная особенность Windows 11

Новость Windows

При установке Windows 11 на некоторые компьютеры могут возникнуть проблемы. Все дело в инструментах безопасности новой версии операционной системы.

30.06.2021    1317    user1015646    0       

Новый фреймворк Google защитит от встраивания вредоносного кода 

Новость Google

Компания Google представила новый фреймворк SLSA. Он защитит ПО от внедрения вредоносного кода в процессе разработки. 

29.06.2021    703    user1015646    0       

Работу чиновников ускорит отечественная система автоматизации

Новость Автоматизация Минкомсвязь

Минцифры планирует к 2024 году установить в госорганах отечественную систему автоматизации рабочих мест. Вместо предполагаемого эксперимента будет полноценное внедрение. 

29.06.2021    805    VKuser24342747    0       

Google профинансирует добавление поддержки языка Rust в ядро Linux

Новость Linux Google ИТ-новость Новости компаний Языки программирования

Google заявила, что финансирует проект по повышению безопасности Linux, где часть ядра будет написана на языке программирования Rust. Усилия по модернизации могут повысить безопасность в сети и на устройствах.

28.06.2021    2951    SKravchenko    0