![Что нового в июне 2024: экран смерти Linux, Rust 1.79 и systemd 256](https://blog.ishosting.com/hubfs/blog/digest-whats-new-in-june-2024/digest-june.png)
Июнь ознаменовался несколькими крупными релизами и анонсами в мире технологий, особенно месяц порадовал новостями в сфере разработки. В системе Linux состоялся релиз стабильной версии systemd 256, который принес различные новые функции и изменения. Продолжая тему Linux, был представлен новый компонент "черного экрана смерти", который, возможно, будет появляться при Kernel Panic.
Не обошлось без значительных обновлений и в среде языков программирования. Проект Rust опубликовал версию 1.79, продолжив его стремительное развитие. Тем временем, эксперты SlashData оценили размеры сообществ различных языков на основе большого опроса разработчиков. Уверены, статистика вас заинтересует!
Компания Huawei сделала необычный анонс Cangjie - нового языка программирования, который демонстрирует совместимость с популярными парадигмами программирования.
Завершают подборку два интересных проекта - Winlator и Lindroid, цель которых - сделать возможным запуск приложений Windows и Linux нативно в Android с помощью эмуляции. Это может открыть совершенно новый мир возможностей для разработчиков.
В целом июнь принес как фундаментальные обновления для ключевых платформ, так и новые языки и технологии с захватывающими последствиями для будущего кодинга. Читайте подробности в дайджесте от is*hosting.
«Чёрный экран смерти» в Linux при Kernel Panic
В новых версиях ядра Linux при возникновении фатальной ошибки, известной как Kernel Panic, может появиться "черный экран смерти" (BSOD). Это похоже на синий экран смерти, который появляется в Windows при сбоях.
Некоторым пользователям Linux не понравилось недавнее внедрение синего экрана в стиле BSOD в Linux. В ответ инженер Red Hat Хавьер Мартинес Каниллас, работавший над новой инфраструктурой DRM Panic, предложил сделать вместо него настоящий черный экран смерти.
Вопрос возник после того, как некоторые пользователи и разработчики пожаловались, что текущая реализация BSOD, представленная в Linux 6.10+ для некоторых драйверов дисплея Direct Rendering Manager (DRM), выглядит слишком похожей на Windows.
Каниллас предложил в качестве варианта черный экран, поскольку Linux имеет открытый исходный код и может настраиваться. Он продемонстрировал пример Kernel Panic DRM на маленьком дисплее SSD1306, вызывающей черный экран. Впоследствии эту схему можно распространить на экраны ПК и ноутбуков.
Huawei представила язык программирования Cangjie
Компания Huawei представила новый язык программирования под названием Cangjie на своей конференции для разработчиков 2024. Cangjie - это язык общего назначения с открытым исходным кодом, предназначенный для разработки программного обеспечения в самых разных отраслях.
Среди ключевых особенностей Cangjie - сильная типизация, безопасность памяти, совместимость с популярными парадигмами программирования, такими как объектно-ориентированное и функциональное программирование. Кроме того, язык ориентирован на простоту чтения и написания.
Язык получил свое название от метода ввода Cangjie, древней китайской системы ввода иероглифов. Это символизирует то, что Cangjie вдохновлен китайской культурой и в то же время является современным, международным языком программирования.
Данный язык программирования пока находится на ранней стадии разработки, но позиционируется как альтернатива существующим мейнстримовым языкам.
Huawei надеется, что Cangjie поможет снизить нагрузку на разработчиков и сделать кодирование более продуктивным и безопасным. Открытый исходный код также позволяет со временем развивать независимое сообщество.
Состоялся релиз Rust 1.79
Середина июня привнесла обновления в язык программирования Rust, которые были отражены в версии Rust 1.79.0.
Среди новых возможностей:
- Поддержка встраивания константных выражений непосредственно в код с помощью блоков const {}, что позволяет избежать отдельного определения констант.
- Синтаксис границ ассоциированных типов "T: Trait<Assoc: Bounds...>" был стабилизирован, что позволяет сократить определение выражений с вложенными ограничениями типа.
- Для временных значений теперь обеспечено автоматическое продление срока действия в выражениях match и if.
- Основные (main) функции теперь можно импортировать из других модулей и crate-пакетов.
- В сборках стандартной библиотеки включены фреймовые указатели для облегчения профилирования.
- Стабилизирована некоторая поддержка WebAssembly.
- Добавлена базовая поддержка целевых платформ aarch64-apple-visionos и riscv32ima. Также повышен уровень поддержки целевых платформ aarch64-pc-windows-gnullvm.
Если предыдущую версию Rust вы установили через rustup, то для обновления до версии 1.79.0 достаточно выполнить команду rustup update stable.
Winlator и Lindroid для запуска Windows и Linux-приложений в Android
Появился новый способ использования Linux на устройствах Android под названием Lindroid. Lindroid позволяет запускать Linux-приложения внутри контейнера на Android аналогично Waydroid, но с полным аппаратным доступом.
По словам автора проекта (Эрфан Абди под ником Khode_Erfan), код Linux работает внутри контейнера и имеет доступ к реальному аппаратному обеспечению смартфона. Lindroid поддерживает несколько дисплеев и опцию multi input, а также совместим с режимом Android desktop mode. Он будет официально выпущен под LibreMobileOS для всех поддерживаемых устройств.
Отдельно проект Winlator с открытым исходным кодом выпустил версию 7.0, которая позволяет запускать Windows-приложения на Android. Winlator развертывает среду Ubuntu Linux с Wine, эмуляторами Box86/Box64, драйверами Mesa и Vulkan для эмуляции Windows-приложений на устройствах ARM Android.
Помимо обновления Wine и Box86/Box64, улучшения управление вводом, менеджера задач и настроек контейнера, в последней версии был запущен экспериментальный режим WoW64, позволяющей выполнять 32-разрядные Windows-приложения в 64-разрядных системах. Также была повышена стабильность работы через XInput и проведена оптимизация производительности.
Оба проекта - отличная возможность для разработчиков опробовать свои идеи и наработки.
Вышла стабильная версия systemd 256
Спустя полгода после предыдущего обновления, состоялся релиз стабильной версии подсистемы инициализации и управления службами в Linux systemd 256. Кстати, именно в предыдущую версию systemd был внедрен компонент systemd-bsod для обеспечения поддержки ВSOD («синего экрана смерти») в Linux, о котором мы говорили ранее.
Вот краткая выжимка внесенных изменений:
- Добавлена новая альтернатива sudo под названием run0.
- Добавлена настройка crash_action для определения действий при сбое system manager.
- systemd по умолчанию теперь не загружается под cgroup v1, которая теперь считается устаревшей.
- Добавлен новый инструмент systemd-vpick для работы с версионными каталогами.
- Инструмент importctl расширен для импорта/экспорта образов дисков через systemd-importd.
- Добавлен новый модуль systemd-ssh-generator, который проверяет, установлен ли бинарный файл sshd, и привязывает его через активацию сокета для каждого соединения..
- Реализована возможность шифровать учетные данные служб для непривилегированных пользователей посредством systemd-creds.
- Введена концепция “капсул” для оборачивания дополнительных сервис-менеджеров.
- Добавлен базовый Varlink интерфейс для systemd-networkd.
Больше подробностей об обновлениях можно найти на странице официального анонса в GitHub.
Эксперты оценили размеры сообществ различных языков программирования
Компания SlashData провела ежеквартальный опрос Developer Nation, в котором приняли участие более 10 000 разработчиков по всему миру. По результатам опроса были опубликованы отчеты, посвященные использованию разработчиками инструментов искусственного интеллекта и размерам сообществ языков программирования.
Отчет об искусственном интеллекте показал, что 59 % разработчиков используют инструменты искусственного интеллекта для помощи в работе, например чат-боты для решения вопросов по кодированию.
Отдельное внимание уделим данным по сообществам разработчиков, использующих разные языки программирования. Вот, как расположились сообщества в первой пятерке:
- JavaScript - 25,2 млн разработчиков.
- Python - 18,2 млн разработчиков.
- Java - 17,7 млн разработчиков.
- C++ - 11,6 млн разработчиков.
- C# - 10,2 млн разработчиков.
Интересно, что сообщество разработчиков на языке Rust оценено SlashData в 4 млн разработчиков (12 место в рейтинге), но при этом является наиболее быстрорастущим. За последний год число разработчиков, использующих Rust, выросло на 30%, а за два года удвоилось. Для сравнения, сообщество JavaScript за последние 12 месяцев приросло на 4 миллиона разработчиков. Однако самый низкий уровень использования JavaScript наблюдается среди начинающих разработчиков (52%) с опытом менее трех лет.
В целом, отчет демонстрирует занимательные данные не только для тех, кто относится к определенным сообществам, о и для тех, кто ищет свою нишу.
Хорошего месяца и до встречи в новом дайджесте от is*hosting!
Виртуальные приватные серверы - эффективная работа по приятной цене. Быстрые NVMe диски, более 30 стран, масштабирование в любой момент.
Выделенный сервер
Бесперебойная работа, высокая производительность и удобная настройка - все для вас.
От $70.00/месяц