LINUX.ORG.RU

Rust


256

19

Всего сообщений: 131

Разработчики Gnome удалят из С++ лишние фичи

Группа Open Source

Как всем известно, язык программирования С++, пожалуй, самый большой по объему из ЯП. Даже программисты, которые пишут на нем десятки лет не могут похвастаться, что знают его полностью. В связи с чем комитет по стандартизации С++ принял нелегкое решение: чтобы язык оставался конкурентоспособным перед напирающими новыми ЯП, например rust, нужно удалить из него все легаси фичи, написаные непонятно какими гоблинами в мохнатые восьмидесятые. В этом помогут хорошо известные на этом форуме разработчики Gnome, которые в свое время удалили все лишние фичи из своей DE, тем самым сделав ее вне конкуренции. Они будут удалять все фичи, пока не удалят все «плюсы» и не дойдут до С, из которого и вылез C++, но на этом не остановятся, оставят от языка только минимальный C--.

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

>>> Подробности

 , , ,

goingUp
()

Linux 6.14

Linux 6.14
Группа Ядро Linux

После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.14. Среди наиболее заметных изменений: драйвер ntsync c примитивами синхронизации Windows NT, настройка балансировки операций чтения в Btrfs RAID1, поддержка reflink в XFS в режиме realtime, возможность некэшируемого буферизированного ввода/вывода, dmem cgroup для ограничения памяти GPU, задействование io_uring в FUSE, делегирование атрибутов в NFS, поддержка атомарной записи в Device mapper, ускорение символических ссылок, управление возможностью выполнения скриптов, поддержка чипов Qualcomm Snapdragon 8 Elite, драйвер для NPU AMD.

В новую версию принято 12115 исправлений от 1984 разработчиков, размер патча – 39 МБ (изменения затронули 10170 файлов, добавлено 531586 строк кода, удалено 235999 строк). В прошлом выпуске было 14172 исправлений от 2086 разработчиков, размер патча – 46 МБ. Около 41% всех представленных в 6.14 изменений связаны с драйверами устройств, примерно 13% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 14% связано с сетевым стеком, 7% – с файловыми системами и 4% c внутренними подсистемами ядра.

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

>>> Подробности на OpenNET

 , , ,

dataman
()

BLAKE3 1.7.0

Группа Open Source

18 марта состоялся выпуск 1.7.0 библиотек BLAKE3, реализующих криптографический алгоритм хеширования BLAKE3 на языках C и Rust, и распространяемых как общественное достояние или по лицензии Apache 2.0.

Проектом также предоставляется консольная утилита b3sum, написанная на языке Rust.

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

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

 , , , ,

dataman
()

Fish Shell 4.0

Fish Shell 4.0
Группа Open Source

Командная оболочка Fish Shell, популярная среди пользователей терминалов, обновилась до версии 4.0, которая принесла значительные изменения и улучшения.

Основное новшество заключается в том, что Fish Shell теперь полностью переписана на языке программирования Rust. Однако для обычных пользователей этот переход будет практически незаметен: команды, настройки и типичные взаимодействия останутся прежними.

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

>>> Полный список изменений и релиз на GitHub

>>> Подробности в блоге fishshell.com

 , ,

CrX
()

Линус Торвальдс пояснил свою позицию в отношении приёма изменений на Rust

Группа Ядро Linux

К обсуждению сопротивления мэйнтейнеров внедрению Rust в ядро подключился Линус Торвальдс, который пояснил, что никто не заставляет мэйнтейнеров изучать язык Rust, использовать код на Rust, или принимать во внимание наличие в ядре кода на Rust. Мэйнтейнеры могут спокойно продолжать работать только с кодом на Си и никак не пересекаться с Rust. Но подобные сопровождающие не могут и влиять на то, как развивается Rust в ядре, например, не могут вмешиваться в организацию внешнего взаимодействия Rust-кода с кодом их подистемы.

Линус раскритиковал действия Кристофа Хелвига, мэйнтейнера подсистем DMA, KVM, Slab Allocator и архитектуры PowerPC. По мнению Линуса, Кристоф превысил свои полномочия и попытался повлиять на код, который не затрагивал код подсистемы DMA, был реализован в отдельном подкаталоге и не влиял на код, за который отвечает Кристоф. Кристоф попытался контролировать то, для чего используется подсистема DMA, и его действия можно сравнить с попыткой запрета использования DMA в каком-то драйвере, лишь потому, что ему не понравился этот драйвер. Итог: несмотря на то, что сопровождающие отвечают за свой код, они не отвечают за то, кто и как использует результат работы этого кода.

>>> Письмо Линуса

>>> Подробности (OpenNet)

 ,

hobbit
()

Вышла версия 25.2.11 файлового менеджера Yazi

Группа Open Source

Yazi (кит. «鸭子» означает «утка») — это невероятно быстрый терминальный файловый менеджер, написанный на Rust, основанный на неблокируемом асинхронном вводе-выводе. Он нацелен на предоставление эффективного, удобного и настраиваемого опыта управления файлами.

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

>>> Основные особенности Yazi (осторожно, много мельтешащих видео на одном экране)

>>> GitHub проекта

>>> Более полный changelog в описании к релизам

 , , yazi

einhander
()

Развитие платформы CADBase за год

Группа Интернет

О платформе

Платформа CADBase обеспечивает систему публикации, хранения и версионирования данных инженерного дела, таких как 3D-модели и чертежи.
Название платформы образовано путём соединения двух слов — CAD (САПР) и Base (База), условно «База данных для систем автоматизированного проектирования».
На сайте платформы имеется просмотрщик для файлов STL, планируется добавить поддержку файлов в формате STEP.

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

>>> Сайт платформы

 , , , ,

margarin
()

Arti 1.4.0

Группа Безопасность

Проект Tor объявил о выпуске новой версии своего клиента Arti 1.4.0, разработанного на языке Rust. Этот выпуск включает множество новых функций и улучшений, направленных на повышение производительности и удобства использования.

Arti — это клиент Tor, переписанный на Rust. Как и оригинальный клиент, написанный на C, он может использоваться как отдельно в качестве SOCKS5-прокси, так и совместно с Tor Browser.

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

>>> Полный список изменений

>>> Подробности

 arti, , ,

CrX
()

Кризис при продвижении языка программирования Rust в ядро Linux

Кризис при продвижении языка программирования Rust в ядро Linux
Группа Ядро Linux

В сообществе разработчиков ядра Linux возникли разногласия по поводу интеграции языка программирования Rust. Кристоф Хелвиг (Christoph Hellwig), мэйнтейнер подсистем DMA, KVM, Slab Allocator и архитектуры PowerPC в ядре Linux, в своё время входивший в управляющий технический комитет организации Linux Foundation и выступавший истцом в связанном с GPL судебном разбирательстве с VMware, отказался подтверждать патчи, связанные с поддержкой разработки драйверов на языке Rust.

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

>>> Подробности (OpenNet)

 , ,

Alexandr_0503
()

Numbat 1.16.0 — консольный научный калькулятор

Numbat 1.16.0 — консольный научный калькулятор
Группа Open Source

После месяца разработки состоялся выпуск 1.16.0 высокоточного консольного научного калькулятора Numbat, написанного на языке Rust и распространяемого по лицензии MIT и/или Apache 2.0.

Отличительные особенности Numbat:

  • полная поддержка физических размерностей и единиц измерения;
  • простой встроенный язык со статической типизацией;
  • автодополнение имён функций, единиц измерения и переменных;
  • поиск по истории ввода;
  • и многое другое.

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

>>> Список изменений версии 1.16.0 на GitHub

 numbat, , , ,

dataman
()

bat 0.25.0

bat 0.25.0
Группа Open Source

После трёх месяцев разработки состоялся выпуск 0.25.0 кроссплатформенной консольной утилиты для просмотра файлов bat, написанной на языке Rust и распространяемой по лицензии MIT или Apache 2.0.
Утилитой поддерживается подсветка синтаксиса для 174 ($ bat -L) языков программирования и разметки текста.

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

>>> Полный список изменений версии 0.25.0 на GitHub

 , , , ,

dataman
()

mmtui — TUI для монтирования дисков

Группа Open Source

У консольных файловых менеджеров из коробки обычно нет интерфейса для управления дисками, эта утилита решает эту проблему. Она является логическим продолжением прошлого решения.

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

>>> GitHub

 , , ,

SL_RU
()

hyperfine 1.19.0

hyperfine 1.19.0
Группа Open Source

Состоялся выпуск 1.19.0 кроссплатформенной (Linux, MacOS, Windows) консольной утилиты hyperfine, написанной на языке Rust и распространяемой по лицензиям Apache-2.0 и MIT. Утилита предназначена для сравнения производительности других консольных утилит.

Список изменений:

  • добавлена опция --reference <cmd> позволяющая вручную указать команду <cmd>, с которой будут сравниваться результаты выполнения других команд;
  • добавлена опция --conclude <cmd>, выполняющая команду <cmd> после выполнения измеряемой команды;
  • команда --output= может быть задана для каждой команды;
  • переменная окружения $HYPERFINE_ITERATION теперь содержит текущий номер итерации для каждой команды бенчмарка;
  • в сообщение об ошибке добавлена информация об итерации;
  • в скрипт plot_histogram.py добавлена возможность позиционирования легенды графика на диаграмме. Выходной DPI графика установлен в 600 DPI;
  • улучшен скрипт plot_whisker.py;
  • исправлена ошибка отображения примерного времени выполнения в эмуляторах терминала с блочным курсором;
  • исправлено автодополнение zsh;
  • добавлена сборка aarch64-apple-darwin;
  • различный рефакторинг кода.

>>> Подробности

 , , , ,

dataman
()

Текстовый редактор Zed теперь официально поддерживает Linux

Группа Open Source

Написанный на языке Rust и использующий аппаратное ускорение рендеринга UI текстовый редактор Zed теперь поддерживает Linux. Команда разработчиков Zed начала выпускать официальные сборки этого редактора, которые должны работать на большинстве современных Linux систем. Для установки редактора предлагается запустить команду curl https://zed.dev/install.sh | sh.

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

>>> Подробности

 , , ,

zg
()

Майский отчёт по разработке микроядерной ОС Redox на Rust

Группа Linux General

3 июня разработчики ОС Redox опубликовали ежемесячный публичный отчёт о прогрессе в разработке за май 2024.

  • COSMIC. Джереми Соллера (разработчик из System76, а так же разработчик COSMIC в Redox, ссылка на персональный гитхаб) занимался заменой компонентов с Orbital на собственные COSMIC-аналоги, и теперь COSMIC-файлы, COSMIC-редактор и COSMIC-терминал являются постоянной частью рабочего стола Redox:

    У нас все еще есть несколько ошибок при выходе из приложений, но в остальном они работают без сбоев и выглядят великолепно!

  • Обновление инструментария. Собственная ветка Rust была обновлена ​​до версии от 11 мая 2024 г. Исправлено множество проблем с программами, требующими последней версии Rust.
  • Улучшения самостоятельного хостинга. Порт компилятора Rust был обновлен для соответствия версии собственного кросс-компилятора Rust.
  • Обновлён собственный порт LLVM.
  • Обновление Mesa3D. Собственная ветка Mesa3D была обновлена ​​до последней стабильной версии 24.0.8.
  • Программная часть. Одним из участников разработки, Риббоном (Ribbon, ссылка на персональный гитхаб), упаковано больше программ, утилит и инструментов Cargo.

Для справки: Redox это unix-подобная микроядерная операционная система, написанная на языке программирования Rust с акцентом на безопасность и высокую производительность. При разработке использовался опыт таких ядер и операционных систем, как SeL4, Minix, Plan 9 и BSD. В качестве цели ставится создание экосистемы, похожей на GNU или BSD, но создаваемой на безопасном для памяти языке и с использованием актуальных для 2010-х годов технологий. Среди сопутствующих компонентов особо выделяются:

  • микроядро, выполненное по типу ядра MINIX;
  • библиотека Newlib для программ на Си (аналог glibc);
  • драйверы работают в пространстве пользователя;
  • имеется опционально включаемый GUI — Orbital;
  • Ion shell — базовая библиотека для оболочек и выполнения команд в Redox, а также оболочка по умолчанию;
  • файловая система TFS, аналог ZFS;
  • пакетный менеджер Magnet;
  • менеджер памяти Ralloc.

Проект существует и активно развивается с 2015 года, распространяется по лицензии MIT.

>>> Подробности на официальном ресурсе разработчиков

 , ,

NeTC
()

fd 10.0.0 и bfs 3.2

fd 10.0.0 и bfs 3.2
Группа Open Source

Состоялся выпуск 10.0.0 консольной утилиты поиска файлов fd, написанной на языке Rust и распространяемой по лицензиям MIT и Apache 2.0.

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

>>> Подробности

 , , , ,

dataman
()

StringZilla 3.8.1

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

StringZillaSIMD- и SWAR-оптимизированная библиотека для C++ (с биндингами для языков C, JavaScript (модуль Node.js), Python, Rust и Swift) для быстрых строковых операций: поиск подстрок и набора символов (прямой и обратный), сортировка, расстояние Левенштейна, расстояние Хэмминга и других. Однако, функциональность не одинакова для всех языков.
Проект распространяется по лицензии Apache-2.0.

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

>>> Подробности

 , , , ,

dataman
()

Taskwarrior 3.0.0

Группа Open Source

25 марта 2024 года вышел долгожданный Taskwarrior 3.0.0.

Taskwarrior — продвинутый менеджер задач и планирования времени для командной строки (также доступны GUI-фронтэнды, библиотеки и дополнения).

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

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

 , , ,

hobbit
()

hyperfine 1.17.0

Группа Open Source

После более двух месяцев разработки состоялся выпуск 1.17.0 кроссплатформенной (Linux, MacOS, Windows) консольной утилиты hyperfine, написанной на языке Rust и распространяемой по лицензиям Apache-2.0 и MIT.
Утилита предназначена для сравнения производительности других консольных утилит.

Список изменений:

  • добавлен параметр --sort, используемый для сортировки результатов сравнения относительной скорости и экспорте;
  • неиспользуемые параметры теперь отображаются в круглых скобках;
  • в скрипт scripts/plot_histogram.py вывода результатов в виде гистограмм добавлена опция --log-count;
  • обновлена документация (man);
  • исправлена ошибка вывода промежуточных результатов в stdout при использовании - в качестве имени файла;
  • исправлено падение при экспорте, если время бенчмарка равнялось нулю.

>>> Подробности

 , , , ,

dataman
()

В GCC добавлена поддержка Modula-2 и планируется включение Rust

Группа Open Source

В основной состав GCC принят фронтэнд m2 и библиотека libgm2, позволяющие использовать штатный инструментарий GCC для сборки программ на языке программирования Modula-2. Поддерживается сборка кода, соответствующего диалектам PIM2, PIM3 и PIM4, а также принятому ISO-стандарту для данного языка. Изменения включены в ветку GCC 13, релиз которой ожидается в мае 2023 года.

Modula-2 разработан в 1978 году Никлаусом Виртом, продолжает развитие языка Pascal и позиционируется как язык программирования для высоконадёжных промышленных систем (например, применяется в ПО для спутников ГЛОНАСС). Modula-2 является предшественником таких языков, как Modula-3, Oberon и Zonnon. Помимо Modula-2 в состав GCC включены фронтэнды для языков C, C++, Objective-C, Fortran, Go, D, Ada.

Также было одобрено включение фронтэнда для Rust. Разработчикам gccrs рекомендовано начать работу с командами, отвечающими за рецензирование изменений и подготовку релизов GCC, для проведения финальной проверки и одобрения патчей с точки зрения соблюдения технических требований к коду, добавляемому в GCC. В случае, если разработка gccrs продолжится в соответствии с ранее намеченным графиком и не будет выявлено непредвиденных проблем, фронтэнд для языка Rust будет интегрирован в состав выпуска GCC 13, намеченного на май следующего года. Реализация Rust в GCC 13 будет иметь статус бета-версии, пока не включаемой по умолчанию.

>>> Подробности (OpenNet)

 , ,

LongLiveUbuntu
()