Рубрика «Rust» - 4

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

Я люблю этот язык и не смог пройти мимо и не попробовать реализовать модель на нем. Целью преследовал обучение и удовлетворение любопытства. Я решил поделиться проделанными шагами и результатами. Возможно, это будет для кого-то полезным.

Повествование я решил разбить на несколько частей:

  1. Разбор интеграция Rust в QEMU (В данной части представлена только он).

  2. Читать полностью »

Всем привет! Пишу свою первую статью - не судите строго :-)

Сегодня хочу рассказать вам о своём проекте, а точнее показать его в деле. Надеюсь, вам будет интересно!

Введение

Netter - инструмент для быстрого и лёгкого поднятия серверов. Он поддерживает следующий функционал:

  • Запуск HTTP / HTTPS серверов;

  • Тонкая настройка логики обработки на каждый маршрут с помощью язык описания маршрутов (RDL). Используется собственный интерпретатор;

  • Поддержка кастомных плагинов для их последующего использования в RDL. Плагины пишутся на Rust с использованием специального крейта для облегчения разработки

Читать полностью »

Python, Java, C++ и Go — как появились популярные языки программирования - 1

Привет! Мы уже рассказывали о «вымерших» языках программирования, пришла очередь самых популярных в 2025 году. Языки не придумывают «чтобы было» — для этого всегда есть предпосылки: рассказываем, кто, когда и зачем их создал. А еще делимся интересными фактами, которых вы могли не знать — а теперь будете :)Читать полностью »

Тян из 80х

Тян из 80х

Здравствуйте, уважаемые читатели!

В этой статье я хотел бы поделиться необычным и вдохновляющим проектом — реализацией арканоида в текстовом VGA-режиме, написанного полностью на Rust, без использования стандартной библиотеки и даже без аллокации памяти (#![no_std] + no_alloc).

Читать полностью »

Хочу сразу пояснить, что я лично пишу на Go уже около 10 лет и уходить от него не планирую (и я не пиарю Rust). Но тем не менее мне интересно мнение других разработчиков, которые работают или работали с Go на больших проектах. Во многом я согласен с недостатками Go, описанными ниже, так как сам сталкиваюсь с этими проблемами и на не самых больших проектах. Вот мой перевод статьи.

1. Простота Go не справляется со сложностью

Главное достоинство Go — его простота. Отсутствие сложных функций, сюрпризов и магии. Для небольших сервисов или инструментов это идеально.

Читать полностью »

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

FFmpeg — это признанный стандарт в индустрии, который умеет почти всё. Его используют популярные программы, такие как VLC, YouTube и OBS. Однако у FFmpeg есть свои подводные камни, которые могут доставить разработчикам головную боль:

  1. Высокий порог входаЧитать полностью »

Радиомаяк для LibreSDR и финальные доработки - 1

Прошлую свою заметку закончил на желании разобраться как управлять передачей на LibreSDR и организовать вывод PTT. Некоторым хитрым образом это удалось сделать. Кроме того, исследовал возможность писать на Rust для LibreSDR с использованием библиотеки libiio. Получилось сделать автономный CW маяк, работающий прям на LibreSDR без использования других компьютеров.

Читать полностью »

Java — один из наиболее часто используемых языков программирования, который мы еще не обсуждали в нашем Rust Interop Guide. В этой статье мы рассмотрим три различных метода вызова кода Rust из Java: JNI, JNR-FFI и Project Panama. Мы покажем различия между этими методами и проведем базовый бенчмаркинг для сравнения их производительности. Эти методы работают не только для Java, но и для других языков JVM, таких как Kotlin. Здесь мы в основном сосредоточимся на Java, но примеры Kotlin доступны в ветке KotlinЧитать полностью »

Пишем простой драйвер на Rust - 1


Популярность Rust неуклонно растёт, а с ней и сопутствующая экосистема. И оно не удивительно, ведь это единственный современный язык, который обеспечивает безопасность памяти и многопоточной обработки на этапе компиляции, предоставляя мощную и богатую систему сборки (cargo), а также всё больше различных пакетов (крейтов).

В своей повседневной работе я по-прежнему придерживаюсь C++, так как основная её часть связана с низкоуровневым программированием систем и ядра, а из этого языка легко задействовать написанный на С Windows API и COM API.

Rust — это язык для системного программирования, то есть он может справляться с теми же задачами, что и C/C++. Основное неудобство при этом создаёт громоздкий синтаксис, необходимый для преобразования типов С в типы Rust. Но это неудобство можно преодолеть, используя подобающие обёртки и макросы.

Короче говоря, я решил попробовать написать простой и полезный драйвер WDM. Это будет Rust-версия драйвера «Booster», о котором я пишу в своей книге (Windows Kernel Programming), позволяющего изменять приоритет любого потока на любое значение.Читать полностью »

Rust в ядре Linux: лекарство или яд? Споры о будущем - 1

В мире разработки программного обеспечения, особенно в области системного программирования, языки C и Rust занимают особое место. C, как проверенный временем язык, десятилетиями служил основой для создания операционных систем, включая Linux. Однако с появлением Rust, который позиционируется как более безопасный и современный ЯП, начались жаркие споры о том, стоит ли переписывать части ядра Linux на Rust или оставить всё как есть. Дискуссия вышла на новый уровень, когда разработчики Linux начали активно сопротивляться внедрению Rust. Кристоф Хеллвиг даже сравнил нововведение с «раковой опухолью». Что стоит за этим противостоянием, и почему Rust вызывает такие полярные мнения?
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js