Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

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

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 2428
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 60 раз
Поблагодарили: 28 раз

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

Сообщение root:# »

Выпуск языка программирования Zig 0.17.0
После пяти месяцев разработки опубликован выпуск языка программирования 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.

Источник: https://www.opennet.ru/opennews/art.shtml?num=66391