Выпуск языка программирования Crystal 1.5
Автор
Сообщение
news_bot ®
Стаж: 7 лет 2 месяца
Сообщений: 27286
Опубликован релиз языка программирования Crystal 1.5, разработчики которого пытаются совместить удобство разработки на языке Ruby с высокой производительностью приложений, свойственной языку Си. Синтаксис Crystal близок к языку Ruby, но не полностью совместим с ним, несмотря на то, что без переработки выполняются некоторые ruby-программы. Код компилятора написан на языке Crystal и распространяется под лицензией Apache 2.0.
В языке применяется статическая проверка типов, реализованная без необходимости явного указания типов переменных и аргументов методов в коде. Программы на Crystal компилируются в исполняемые файлы, с вычислением макросов и генерацией кода во время компиляции. В программах на языке Crystal допускается подключение биндингов, написанных на языке Си. Распараллеливание выполнения кода осуществляется при помощи ключевого слова "spawn", которое позволяет запустить фоновую задачу в асинхронном режиме, не блокируя основной поток, в виде легковесных потоков, именуемых файберами (Fiber).
Стандартная библиотека предоставляет большой набор типовых функций, в том числе средства для обработки CSV, YAML, и JSON, компоненты для создания HTTP-серверов и поддержки WebSocket. В процессе разработки удобно использовать команду "crystal play" которая формирует web-интерфейс (по умолчанию localhost:8080) для интерактивного выполнения кода на языке Crystal.
Основные изменения:
- В компилятор добавлена проверка соответствия
имён аргументов в реализации абстрактного метода и в его определении. В случае несоответствия имён теперь выводится предупреждение:
abstract class FooAbstract
abstract def foo(number : Int32) : Nil
end
class Foo < FooAbstract
def foo(name : Int32) : Nil
p name
end
end
6 | def foo(name : Int32) : Nil
^---
Warning: positional parameter 'name' corresponds to parameter 'number'
of the overridden method FooAbstract#foo(number : Int32), which has a different
name and may affect named argument passing
- При присвоении аргументу нетипизированного метода значения переменной, данный аргумент теперь ограничивается типом этой переменной.
class Foo
@x : Int64
def initialize(x)
@x = x # параметр x получит тип @x
end
end
- Разрешено добавление аннотаций в параметры методов или макросов.
def foo(@[MaybeUnused] x); end # OK
- Добавлена поддержка использования констант в качестве индексов и имён в кортежах.
KEY = "s"
foo = {s: "String", n: 0}
puts foo[KEY].size
- В API File для удаления файлов и каталогов добавлены новые методы File#delete? и Dir#delete?, возвращающие false в случае отсутствия файла или каталога.
- Усилена защита метода File.tempfile, который теперь не допускает нулевые символы в стоках, формирующих имя файла.
- Добавлена переменная окружения NO_COLOR, отключающая выделение цветом в выводе компилятора и интерпретатора.
- Значительно улучшена работа в режиме интерпретатора.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://crystal-lang.org/2022/...)
- OpenNews: Выпуск языка программирования Julia 1.7
- OpenNews: Доступен язык программирования Crystal 1.0
- OpenNews: Доступна операционная система Lilith 0.0.5, написанная на языке Crystal
- OpenNews: В языке программирования Zig обеспечена поддержка самораскрутки (bootstraping)
- OpenNews: Дрю ДеВолт представил язык системного программирования Hare
Похожие новости:
- NIST утвердил алгоритмы шифрования, устойчивые к квантовым вычислениям
- Выпуск языка программирования Crystal 1.2
- [Мессенджеры, Программирование, Разработка игр, Логические игры] Настольная игра в Telegram с разоблачением
- Доступен язык программирования Crystal 1.0
- [Высокая производительность, Разработка веб-сайтов, Go, Веб-аналитика] Рейтинг скоростных веб-фреймворков 2020
- Доступена операционная система Lilith 0.0.5, написанная на языке Crystal
- [Разработка веб-сайтов, Программирование, Rust, Kotlin, Elixir/Phoenix] Пять перспективных языков программирования со светлым будущим (3 года спустя)
- [Crystal Dynamics | Rise of the Tomb Raider] [Crystal Dynamics | Tomb Raider (2013)] Square Enix многого ожидала от перезапуска Tomb Raider
- [Crystal Dynamics | Tomb Raider (2013)] «Tomb Raider: Лара Крофт» vs Tomb Raider: Сравнение игры и фильма
- [Crystal Dynamics | Tomb Raider (2013)] «Tomb Raider: Лара Крофт» и Tomb Raider: Игромания сравнивает игру и трейлер
Теги для поиска: #_crystal
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 04-Май 15:22
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 7 лет 2 месяца |
|
Опубликован релиз языка программирования Crystal 1.5, разработчики которого пытаются совместить удобство разработки на языке Ruby с высокой производительностью приложений, свойственной языку Си. Синтаксис Crystal близок к языку Ruby, но не полностью совместим с ним, несмотря на то, что без переработки выполняются некоторые ruby-программы. Код компилятора написан на языке Crystal и распространяется под лицензией Apache 2.0. В языке применяется статическая проверка типов, реализованная без необходимости явного указания типов переменных и аргументов методов в коде. Программы на Crystal компилируются в исполняемые файлы, с вычислением макросов и генерацией кода во время компиляции. В программах на языке Crystal допускается подключение биндингов, написанных на языке Си. Распараллеливание выполнения кода осуществляется при помощи ключевого слова "spawn", которое позволяет запустить фоновую задачу в асинхронном режиме, не блокируя основной поток, в виде легковесных потоков, именуемых файберами (Fiber). Стандартная библиотека предоставляет большой набор типовых функций, в том числе средства для обработки CSV, YAML, и JSON, компоненты для создания HTTP-серверов и поддержки WebSocket. В процессе разработки удобно использовать команду "crystal play" которая формирует web-интерфейс (по умолчанию localhost:8080) для интерактивного выполнения кода на языке Crystal. Основные изменения:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 04-Май 15:22
Часовой пояс: UTC + 5