LINUX.ORG.RU

Новости «Разработка»

Активные теги:

 , , , , , , ,

Wild Linker 0.9

 , wild linker, ,

Группа Разработка

Состоялся релиз Wild Linker 0.9.0 — нового высокопроизводительного линковщика, написанного на Rust. Релиз отмечен на GitHub 23 мая 2026 года. Проект позиционируется как линковщик для ускорения итеративной разработки: в перспективе авторы хотят прийти к инкрементальной линковке, хотя в текущей версии она ещё не реализована. Код распространяется под двойной лицензией Apache 2.0 / MIT.

Главное изменение Wild 0.9 — поддержка Linker Plugin API, интерфейса, появившегося в Gold linker и также поддерживаемого GNU ld и Mold. Для Wild это открывает путь к linker-plugin LTO — оптимизации времени компоновки через подключаемый модуль линковщика. Разработчики отдельно уточняют, что это прежде всего полезно для проектов на C, C++ и смешанных кодовых баз, тогда как чистые Rust-проекты обычно делают LTO внутри компилятора. У поддержки пока есть известные проблемы, а линковка через плагин может быть медленной.

( читать дальше... )

>>> Источник (github.com)

unclestephen
()

Apache NetBeans 30

 , , ,

Apache NetBeans 30
Группа Разработка

Представлен очередной выпуск Apache NetBeans –– интегрированной среды разработки, поддерживающей языки программирования Java, PHP, JavaScript, C, C++ и др.

IDE написана на Java и распространяется на условиях Apache License 2.0.

( читать дальше... )

>>> Подробности (github.com)

troizet
()

Erlang/OTP 29

 

Группа Разработка

Вышла 29 версия функционального языка программирования Erlang, применяемого для разработки распределённых приложений, обеспечивающих высокую надежность и параллельную обработку в режиме реального времени. Язык широко используется в таких областях, как телеком, банкинг, электронная коммерция, компьютерная телефония и мессенджеры (WhatsApp).

Вместе с языком до версии 29 обновилась платформа OTP (Open Telecom Platform) — сопутствующий набор библиотек и компонентов.

Некоторые новшества:

  • В JIT-компиляторе улучшена генерация машинного кода для сопоставления и создания бинарных данных с несколькими little-endian сегментами.
  • В библиотеке SSL в конфигурации по умолчанию выставлен наиболее приоритетным гибридный алгоритм обмена ключами «x25519mlkem768», стойкий к подбору на квантовом компьютере и представляющий собой комбинацию из X25519 ECDH и алгоритма ML-KEM (CRYSTALS-Kyber).
  • Добавлен атрибут -unsafe для пометки функций небезопасными (unsafe). В библиотеке Erlang/OTP подобные функции помечены и для них компилятор теперь выдаёт предупреждение. Добавлена возможность отслеживания через xref вызова unsafe-функций и функций без документации.

>>> Описание выпуска

>>> Подробности (github.com)

Lusine
()

Blaise - новый компилятор языка Pascal

 , ,

Группа Разработка

Грэм Гелденхейс (Graeme Geldenhuys), разработчик графического пользовательского интерфейса fpGUI, системы сборки PasBuild, системы тестирования FPTest и отладчика opdebugger представил Blaise - компилятор для диалекта языка программирования Object Pascal.

( читать дальше... )

>>> Blaise Pascal Compiler (github.com)

No
()
: libgit2 1.9.3 (27 комментариев)

CodePointer 0.1.4

 , codepointer, , ,

Группа Разработка

1-го мая состоялся выпуск 0.1.4 CodePointer (ранее назывался qtedit4) — IDE для языков C++, Go, Rust и многих других.

Проект находится на ранней стадии разработки, и основное внимание уделяется локальной, а не веб-разработке.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

GCC 16

 , , ,

GCC 16
Группа Разработка

После года разработки опубликован выпуск свободного набора компиляторов GCC 16.1, первый значительный выпуск в новой ветке GCC 16.x. В соответствии со схемой нумерации выпусков, версия 16.0 использовалась в процессе разработки, а незадолго до выхода GCC 16.1 уже ответвилась ветка GCC 17.0, на базе которой будет сформирован следующий значительный релиз GCC 17.1.

( читать дальше... )

>>> Источник: OpenNET (opennet.ru)

dataman
()

Git 2.54

 

Git 2.54
Группа Разработка

Представлен релиз распределенной системы управления исходными текстами Git 2.54. Git отличается высокой производительностью и предоставляет средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям «задним числом» используются неявное хеширование всей предыдущей истории в каждом коммите, а также удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. Код Git распространяется под лицензией GPLv2+.

По сравнению с прошлым выпуском в новую версию принято 770 изменений, подготовленных при участии 137 разработчиков (66 впервые приняли участие в разработке Git).

( читать дальше... )

>>> Источник: OpenNET (opennet.ru)

Mishahack
()

Kefir 0.5.1

 , c17, ,

Группа Разработка

Вышла новая версия компилятора Kefir для языка программирования Си. Kefir поддерживает стандарты C17 / C23, включая такие возможности, как:

  • комплексные числа _Complex;
  • десятичные числа _Decimal;
  • массивы переменной размерности на стеке VLA;
  • встроенный ассемблер;
  • генерация отладочных символов в формате DWARF5.

На текущий момент компилятор генерирует код под одну аппаратную платформу — System-V AMD64 ABI и реализованные на ней Unix-подобные операционные системы: Linux/glibc, Linux/musl, FreeBSD, OpenBSD, NetBSD и DragonflyBSD. Компилятор использует существующие сторонние компоновщик и ассемблер для целевой платформы. Kefir способен скомпилировать сам себя. Кроме того, он проходит набор тестов для gcc 15 и успешно собирает широкий набор ПО с открытыми исходными кодами. Компилятор поддерживает один уровень оптимизации.

Проект написан полностью «с нуля» в одиночку программистом Евгением Протопоповым и распространяется по лицензии GPL v3.

>>> Объявление о новой версии (protopopov.lv)

r--r--r--
()

jemalloc 5.3.1

 , , аллокатор,

Группа Разработка

После почти четырёхлетней паузы (см. «jemalloc всё») состоялся выпуск 5.3.1 аллокатора jemalloc – реализации malloc(3), в которой особое внимание уделяется предотвращению фрагментации и поддержке масштабируемой параллельности.

Новый выпуск включает в себя более 390 коммитов с исправлением ошибок, новыми функциями, оптимизацией производительности и улучшением переносимости.

Проект написан на языке С и распространяется по лицензии BSD.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()
: Solod — подмножество языка Go, транслируемое в язык Си (27 комментариев)

libunicode 0.9.0

 , , ,

libunicode 0.9.0
Группа Разработка

Состоялся выпуск 0.9.0 библиотеки для языка C++ (стандарт C++20) libunicode. Проект разрабатывается командой разработчиков эмулятора терминала Contour и оболочки Endo (в активной разработке), и распространяется по лицензии Apache 2.0.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

Утверждён стандарт C++26

 ,

Группа Разработка

Комитет ISO по стандартизации языка C++ утвердил финальный вариант спецификации, образующей международный стандарт «C++26». Представленные в спецификации возможности частично уже поддерживаются в компиляторах GCC (gnu.org), Clang и Microsoft Visual C++. Поддерживающие C++26 стандартные библиотеки реализованы в рамках проекта Boost.

В следующие два месяца утверждённая спецификация будет находиться на стадии подготовки документа к публикации, на которой будет проведена работа по редакторской правке орфографических ошибок и опечаток. В начале ноября результирующий вариант документа будет направлен в ISO для публикации под формальным именем ISO/IEC 14882:2026.

( читать дальше... )

>>> Источник: OpenNET (opennet.ru)

dataman
()

cpp-peglib 1.10.0 и 1.10.1

 , cpp-peglib, , ,

Группа Разработка

12-го и 14-го марта, после длительного затишья, состоялись выпуски 1.10.0 и 1.10.1 библиотеки cpp-peglib, реализующей PEG (грамматику, разбирающую выражение).

Библиотека поддерживает синтаксис, подробно описанный Брайаном Фордом на странице 2 документа «Parsing Expression Grammars: A Recognition-Based Syntactic Foundation», со многими дополнительными улучшениями.

В отличие от таких проектов, как PEGTL, Lexy и многих других, cpp-peglib позволяет задать выражение PEG и во время выполнения.

( читать дальше... )

>>> Попробовать онлайн (пример грамматики JSON на скриншоте)

>>> Подробности на GitHub (github.com)

dataman
()

lexbor 2.7.0

 , , , ,

Группа Разработка

13 марта, после четырёх месяцев разработки, состоялся выпуск 2.7.0 высокопроизводительной библиотеки lexbor, предназначенной для обработки форматов HTML 5 и CSS.

Основные особенности проекта:

  • полная поддержка спецификаций WHATWG, W3C и Unicode: HTML5, CSS Syntax 3, Encoding, URL​, Unicode Standard Annex #15, Unicode Technical Standard #46, Punycode, Unicode Standard Annex #15, Unicode Technical Standard #46;
  • манипулирование элементами и атрибутами DOM: добавление, изменение, удаление и прочее;
  • поддержка разбора фрагментов HTML;
  • прохождение всех тестов построения деревьев DOM;
  • протестирована на более чем 200 миллионах HTML-страниц с помощью ASAN;
  • поддержка определения кодировки по потоку байтов;
  • анализ стилей CSS в атрибутах тегов и в теге <style>;
  • поиск HTML-элементов с помощью CSS-селекторов;
  • поддержка 40 кодировок при кодировании и декодировании;
  • поддержка небуферизованного и буферизованного кодирования и декодирования;
  • написан на языке C (стандарт C99) без сторонних зависимостей и распространяется по лицензии Apache 2.0;
  • библиотека разделена на модули (Core, CSS, DOM, Encoding, Engine, HTML, NS, Punycode, Selectors, Tag, Unicode, URL, Utils), которые могут быть скомпилированы и использованы как раздельные библиотеки (с опцией CMake LEXBOR_BUILD_SEPARATELY=ON);
  • сторонние биндинги и врапперы для языков Crystal, ​​D​​, Elixir, Julia, PHP​, Python и Ruby.

( читать дальше... )

>>> Сайт проекта

>>> Исходный код

>>> Документация

>>> Сделанные и запланированные возможности

>>> Подробности о версии 2.7.0 на GitHub (github.com)

dataman
()
: smath 1.0.0 — библиотека линейной алгебры для языка C++ (стандарт C++23) (34 комментария)

Glaze 7.2.0

 , , , ,

Группа Разработка

Состоялся выпуск 7.2.0 высокопроизводительной, SIMD-оптимизированной и многопоточной библиотеки Glaze, предназначенной для быстрой сериализации и десериализации данных с поддержкой форматов JSON RFC 8259, CSV, CBOR, BEVE, MessagePack, TOML, EETF (Erlang External Term Format) (опционально, для компиляции требуются библиотеки Erlang), YAML 1.2, Stencil и Mustache.

Библиотека написана на языке C++ (header-only, стандарт C++23 и выше) и распространяется по лицензии MIT.

Glaze также предоставляет поддержку REPE RPC и сервер и клиент HTTP, используя современные возможности C++, включая автоматическую генерацию REST API, поддержку WebSocket и шифрование SSL/TLS.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

Apache NetBeans 29

 , , ,

Apache NetBeans 29
Группа Разработка

Представлен очередной выпуск Apache NetBeans – интегрированной среды разработки, поддерживающей языки программирования Java, PHP, JavaScript, C, C++ и др.

( читать дальше... )

>>> Скачать

>>> Подробности (github.com)

troizet
()

libunicode 0.8.0

 , , ,

Группа Разработка

17 февраля состоялся выпуск 0.8.0 библиотеки для языка C++ (стандарт C++20) libunicode. Проект разрабатывается командой разработчиков эмулятора терминала Contour и распространяется по лицензии Apache 2.0.

Возможности библиотеки:

  • поддержка стандартов Unicode 17.0:
  • API для получения свойств Юникод;
  • SIMD-оптимизация некоторых функций (с использованием std::simd или std::experimental::simd при их наличии);
  • оптимизированное конвертирование UTF8 <-> UTF32;
  • эквивалент функции wcwidth (int unicode::width(char32_t));
  • сегментирование текста по графемам, символам, эмодзи и письменностям;
  • преобразование регистра и сравнение строк;
  • высокоуровневый API сегментирования текста, подходящий для реализации шейпинга текста.
  • покрытие тестами большинства возможностей библиотеки (ширина символа и сегментирование).

В комплект поставки также входит консольная утилита unicode-query для получения подробной информации о строках.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

Go 1.26

 , ,

Go 1.26
Группа Разработка

После полугода разработки состоялся выпуск 1.26 компилятора и стандартной библиотеки языка программирования Go.

Основные изменения:

  • Встроенная новая функция, создающая новую переменную, позволяет использовать в качестве операнда выражение, указывающее начальное значение переменной. Простой пример такого изменения — это код, подобный этому:
    x := int64(300)
    ptr := &x
    

    Можно упростить до:
    ptr := new(int64(300))
    
  • Обобщенные типы могут ссылаться сами на себя в собственном списке параметров типа. Это изменение упрощает реализацию сложных структур данных и интерфейсов.

( читать дальше... )

>>> Подробности на go.dev/blog (go.dev)

splinter
()