14 июля 2024 года состоялся второй в этом году версионный релиз языка программирования Hare (0.24.2) от команды под руководством Дрю ДеВолта (создателя платформы SourceHut и mail-клиента Aerc). Выпуск Hare 0.24.0 состоялся в феврале.
Этот выпуск включает в себя ряд критических изменений по сравнению с версией 0.24.0, которые могут потребовать от пользователей проекта обновить свой код.
Разработчики проекта пояснили, что работа над Hare находится в активной стадии, а между выпусками могут быть некоторые критические изменения. Идей и наработок у них так много, что код проекта быстро меняется. Команда проекта решила выпускать ежеквартальные выпуски Hare с номерами версии типа 0.YY.Q, где YY — двузначный год выпуска, а Q — квартал (с нулевым индексом), в котором она была выпущена. Для каждого выпуска будет подготовлен журнал изменений (включая краткое описание критических изменений и необходимых действий для затронутых пользователей) в рамках развития портала hare-announce.
«В будущем мы будем вносить кардинальные изменения, некоторые из которых могут быть даже драматичными (серьёзными/существенными). Мы планируем заморозить версию языка Hare 1.0, поэтому нам необходимо иметь возможность исправлять ошибки проектирования на этом этапе жизненного цикла Hare. Однако мы признаём, что Hare сегодня является относительно сложным и полезным, и мы хотим найти баланс, который поможет людям использовать его сегодня, имея при этом инструменты, позволяющие справляться с этими изменениями по мере их появления», — уточнил разработчики проекта.
Hare — системный язык программирования, заточенный под написание компиляторов и сетевого ПО. В основу языка положена идея ручного управления памятью, статическая типизация и быстрая скорость выполнения. Исполняемые файлы генерируются на бэкенде компилятора qbe. В стандартную библиотеку Hare входят модули для работы с сетью, криптографические реализации, парсеры и лексические инструменты для POSIX. Есть привязки к OpenGL и SDL2, а также библиотеке libui для построения кроссплатформенных GUI.
Доработки и изменения в Hare 0.24.2 включают в себя поддержку NetBSD (включая все три основных производных BSD — NetBSD, OpenBSD и FreeBSD — и Linux), улучшенную производительность bufio и связанных API, пересмотр и улучшение API для unix, поддержку множественного чередования для регулярного выражения, поддержку общей памяти и memfds на поддерживаемых платформах, а также новые крипто-API (crypto::ec, crypto::ecdh и crypto::ecdsa).
Разработчики проекта подготовили документацию и руководство по использованию Hare.
На Hare уже написаны микроядро Helios, менеджер паролей Himitsu, инструмент для шифрования box, торрент-демон btqd, scheduled (альтернатива cron) и система трассировки лучей raytracing.
Отмечается, что Hare очень сильно похож на C, и почти все программы на C могут быть переписаны на Hare. Однако Hare выглядит проще и удобнее. Разработчики отмечают, что Hare доверяет программисту и явно выполняет написанный код без скрытых манипуляций.
Дистрибутив и библиотеки языка Hare полностью помещается на трехдюймовой дискете.
Источник: habr.com