The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск языка программирования Hare 0.26

13.02.2026 23:25 (MSK)

Дрю ДеВолт (Drew DeVault), автор пользовательского окружения Sway, почтового клиента Aerc и платформы совместной разработки SourceHut, опубликовал выпуск языка программирования Hare 0.26.0. Hare преподносится как язык системного программирования, близкий к языку Си, но проще, чем Си. Исходный код компилятора и инструментария распространяются под лицензией GPLv3, а код стандартной библиотеки под лицензией MPL (Mozilla Public License).

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

Для выполнения приложения поставляется минимальный runtime, а для разработки распространяется стандартная библиотека функций, предоставляющая доступ к базовым интерфейсам операционной системы, а также предлагающая функции для работы с типовыми алгоритмами, протоколами и форматами, включая средства для использования регулярных выражений и шифрования. Для разработки графических приложений развивается инструментарий hare-wayland, а также привязки для доступа к возможностям GTK, Vulkan, OpenGL, SDL3 и libui.

В новой версии:

  • Добавлена конструкция цикла "for(...){...} else {...}" и возможность использования цикла как выражения для присвоения значения переменной "item = for(...){...}". Значение, которое будет присвоено переменной, может быть возвращено при прерывании цикла выражением "break значение" или через указание "yield значение_по_умолчанию" в прикреплённом к циклу блоке "else{...}", который вызывается, если цикл не был прерван через break.
    
       const item = for (let sample .. items) {
    	if (item.key == key) {
    		break item;
    	};
       } else {
            yield -1;
       };
    
  • Добавлена возможность использования присвоения значению "_" для игнорирования обработки ошибок (в случае возникновения ошибки не возникнет assertion).
    
       _ = os::remove("/some/file");
    
  • Добавлена возможность использования значения "_" для создания неименованных полей в структурах. Подобные поля могут применяться для добавочного заполнения.
    
       export type my_struct = struct @packed {
    	x: u32,		// offset: 0
    	_: u8,		// offset: 4
    	y: u64,		// offset: 5
       };
    
  • Реализована возможность явного оставления переменных и полей в структурах в неинициализированном состоянии, через присвоения им значения "@undefined". Ранее язык требовал чтобы все локальные и глобальные переменные были инициализированы во время создания. Оставление без инициализации может потребоваться, когда переменная должна быть инициализирована не во время объявления, а позднее, например, когда в функцию передаётся указатель на переменную, которую эта функция должна инициализировать.
    
       let x: my_object = @undefined;
    
  • Добавлена поддержка операционной системы Dragonfly BSD. Ранее поддерживались Linux, FreeBSD, NetBSD и OpenBSD.


  1. Главная ссылка к новости (https://harelang.org/blog/2026...)
  2. OpenNews: Выпуск языка программирования Hare 0.25.2
  3. OpenNews: Автор оболочки Sway и языка Hare развивает новое микроядро Helios и OC Ares
  4. OpenNews: Дрю ДеВолт представил язык системного программирования Hare
  5. OpenNews: Выпуск операционной системы DragonFly BSD 6.4.1
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64794-hare
Ключевые слова: hare
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (11) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:34, 13/02/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.2, Аркагоблин (?), 23:44, 13/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Лицензия отвратительная для стандартных либов. Для них принято что-то пермиссивное ставить. И желательно без атрибуции, потому что никто нормальный не будет специально выискивать что там под какой лицензией и писать "Hello world написан на Hare. Hare под MPL и его написал Имя Автора". Люди воспринимают системные библиотеки как нечто базовое и фундаментальное, а не как произведение.
     
     
  • 2.12, Аноним (12), 01:26, 14/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот стандартная GLibc как-то не пермиссивная.
     

  • 1.4, Аноним (4), 00:05, 14/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    харэ выпускать новые языки программирования
     
  • 1.5, 12yoexpert (ok), 00:13, 14/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > ДеВолт

    это он шуруповёрты придумал?

     
     
  • 2.8, Аноним (8), 00:42, 14/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > это он шуруповёрты придумал?

    Не, этот deVaUlt, а тот deWalt.
    Плюс шуруповерты бесспорно полезны, а очередной нескучный йазычог... ну такое.

     

  • 1.6, Аноним (6), 00:20, 14/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Харэ выпускать язычки программирования. Rust и Python хватит всем.
     
     
  • 2.7, Гуманоид (?), 00:23, 14/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Мне 640 Кб не хватило.
     
  • 2.10, Аноним (10), 01:08, 14/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Гошечка местами интереснее питона. Ну, и для МК сишечка получше будет. А в остальном норм.
     
  • 2.11, Аноним (11), 01:10, 14/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    не буди во мне зверя! особенно зайца
     

  • 1.9, Аноним (9), 01:00, 14/02/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру