Язык программирования Crystal 0.6.0

Состоялся выпуск версии 0.6.0 языка программирования Crystal.

Язык программирования Crystal разрабатывается с такими целями:

идентичный Ruby синтаксис, либо же максимально схожий с ним отсутствие необходимости указания типов переменных и аргументов методов вызов кода на Си с помощью биндингов, написанных на Crystal проверка и генерация кода во время компиляции компиляция в эффективный нативный код Ответы авторов Crystal на вопрос «для чего это всё?»:

нам нравится производительность при написании кода на Ruby нам нравится производительность при выполнении кода на Си мы хотим объединить лучшее из этих двух миров мы хотим, чтобы компилятор понимал, что мы имеем в виду без указания типов мы хотим в полный ООП и да, мы не хотим писать код на Си только для того, чтобы он работал быстрее Внешний вид:

# Compute prime numbers up to 100 with the Sieve of Eratosthenes

max = 100

sieve = Array.new (max + 1, true) sieve[0] = false sieve[1] = false

(2…max).each do |i| if sieve[i] (2 * i).step (max, i) do |j| sieve[j] = false end end end

sieve.each_with_index do |prime, number| puts number if prime end Текущее состояние:

язык в стадии pre-alpha, архитектура языка в активной разработке компилятор языка Crystal написан на языке Crystal используется традиционный Boehm-Demers-Weiser’s сборщик мусора, что будет изменено в будущем В версии 0.6.0, кроме исправления ошибок, следующие изменения:

Function переименован в Proc Pointer и Tuple теперь подразумеваются компилятором как struct потоко-безопасные магические переменные Исходный код на GitHub

Для установки на GNU/Linux доступны пакеты для Debian, Ubuntu, RedHat и CentOS. Для системы OS X доступна установка через homebrew. Так же доступен универсальный бинарник, который можно просто скачать, запустить и пользоваться.

 c, ruby, язык программирования

©  Linux.org.ru