Профиль: Аноним (вход | регистрация) неRU opennet.me  
OpenNET

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

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

03.10.2026 23:27 (MSK)

После пяти месяцев разработки опубликован выпуск языка программирования Zig 0.17.0, развиваемого в качестве современной замены языка Си. В Zig пытаются сохранить простоту, гибкость использования и предсказуемость кодогенерации языка Си, при этом добавляя новшества для более эргономичной и безопасной разработки. Zig предоставляет возможности метапрограммирования (выполнения кода во время компиляции) и современную систему типов, созданную с оглядкой на обеспечение безопасности и производительности (опциональные типы вместо нулевых указателей, выравнивание по адресу как часть типа, целочисленные типы с размерностью от 0 до 65535 бит, кортежи и т.д.). Код инструментария распространяется под лицензией MIT.

В подготовке релиза приняли участие 206 разработчиков, которые внесли 925 коммитов. Основные изменения:

  • Переработана сборочная система (Build System), в которой процесс конфигурации отделён от процесса сборки. Переработана система кэширования.
  • Добавлен протокол Build Server Protocol, позволяющий клиентам отслеживать процесс сборки и управлять им.
  • Существенно улучшен собственный ELF-компоновщик.
  • В компиляторе реализована возможность использования инкрементальной компиляции в Linux-окружениях на системах с архитектурой x86_64.
  • Обновлены версии LLVM 22, musl 1.2.5, glibc 2.44, заголовочные файлы ядра Linux 7.2.
  • Расширена поддержка целевых платформ loongarch32 и SPARC64. добавлена поддержка трассировки стека на системах ARM и SPARC. Удалена поддержка некоторых сборочных целей для архитектуры PowerPC с glibc.
  • В языке предложена формальная спецификация грамматики, добавлены новые встроенные функции (@backingInt, @fromBackingInt, @divCeil, @SpirvType и др.), удалены устаревшие конструкции ("a ** b", "void{}", "errdefer |err|", "i0").
  • Инструменты трансляции C-кода вынесены в отдельный пакет translate-c.
  • В стандартной библиотеке предложена новая система выделения памяти SafeAllocator, пригодная для использования в многопоточном коде. Переработан модуль std.zon.parse.


  1. Главная ссылка к новости (https://ziglang.org/download/0...)
  2. OpenNews: Релиз серверной JavaScript-платформы Bun 1.4, переписанной с Zig на Rust
  3. OpenNews: Представлены Buz и Cruller, форки JavaScript-платформы Bun, продолжающие развитие на языке Zig
  4. OpenNews: Проект Phoenix развивает современный X-сервер, написанный на языке Zig
  5. OpenNews: Разработчики openSUSE развивают zssh, реализацию SSH на языке Zig
  6. OpenNews: Выпуск языка программирования Zig 0.11.0
Автор новости: Мемоним
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/66391-zig
Ключевые слова: zig
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (11) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.4, котобот (?), 23:46, 03/10/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/–
     
  • 1.5, warlock66613 (ok), 23:46, 03/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/–
    Zig прикольный и с правильными идеями, но Rust выразительнее и удобнее.
     
     
  • 2.10, Аноним (10), 01:04, 04/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Опа, на опеннете не токсичный и рациональный комментарий, респект!
     

  • 1.6, Аноним (6), 23:49, 03/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/–
    >вместо нулевых указателей

    Остается пожелать ребятам реализовать его для десятка платформ. Получиться десяток zig.

     
     
  • 2.9, Аноним (9), 00:50, 04/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Опциональные типы не особо так отличаются от нулевых указателей, но нужен компилятор, который будет тихонько компилять в нули назад. Думаю, второй zig в это сможет.
     

  • 1.7, Аноним (7), 00:24, 04/10/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +2 +/–
     
  • 1.8, Аноним (9), 00:47, 04/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    Вот это действительно замена Си, а не обёртка над маллоком. Аллокатор там - библиотечный объект, а не часть языка.
     
     
  • 2.11, Аноним (10), 01:12, 04/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    К сожалению, замена Си не нужна. Си устарел не только и не столько на уровне языка, но и на уровне, простите за тавтологию, уровня - в современных реалиях он слишком низкоуровневый. zig эту проблему только усугубляет - там не только vtable придётся писать руками, но и аллокатор через всю цепочку вызовов таскать, а зачем, когда недефолтный аллокатор нужен крайне редко. То что написано на C останется на C, а то что будет переписываться, будет переписываться на go или rust. Ну и неадекватный BDFL + нестабильность ставят крест на применении для неигрушечных проектов.
     
     
  • 3.12, Аноним (12), 01:15, 04/10/2026 Скрыто ботом-модератором     [к модератору]
  • +/–
     
  • 3.13, Аноним (9), 01:37, 04/10/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    >аллокатор через всю цепочку вызовов таскать

    Ставь лойс, если прокидывать данные научился только через цепочку вызовов.

     

  • 1.14, Аноним (14), 02:16, 04/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    Зачем этот язык существует, если на нём вообще больше ничего не написано?
     

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



    XSQUARE
    Inferno Solutions
    Hosting by Hoster.ru
    Хоcтинг: