Rust
7.1K subscribers
308 photos
35 videos
3 files
878 links
Rust programming language

По всем вопросам- @haarrp

@ai_machinelearning_big_data - машинное обучение

@programming_books_it - бесплатные it книги

@pythonl - 🐍

@ArtificialIntelligencedl - AI

@datascienceiot - ml 📚
Download Telegram
👣 Скомпилированный код Rust для Nintendo Gameboy!

https://github.com/zlfn/rust-gb

#nintendo #programming #rustlang

@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰106🔥5👍2
👣 garde — это библиотека для валидации данных в Rust 🦀, то есть проверки, что структура или переменные соответствуют определённым правилам (например, "email должен быть валидным", "возраст больше 18", "строка не пустая" и т.д.).

🧠 garde позволяет:

Легко описывать правила валидации прямо внутри структур (через атрибуты).

🔁 Работать с вложенными структурами (inner types).

🧊 Поддерживает newtypes — обёртки над типами.

🛠️ Писать свои кастомные валидаторы.

Проверка происходит во время исполнения, но декларативно выглядит как часть типа.

📦 Пример использования
rust


use garde::Validate;

#[derive(Validate)]
struct User {
#[garde(length(min = 3))]
username: String,

#[garde(email)]
email: String,
}


Тут username должен быть минимум из 3 символов, а email — валидный адрес.

GitHub: https://github.com/jprochazk/garde

#rustlang #type #validation #programming #library #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32👍184🥰1
🦀 Вышел Rust 1.89 — стабильный релиз с важными обновлениями


💡 Главное в 1.89:
- Символ _ в const-генериках для автоматического вывода значений.
- 🛡️ Новый lint mismatched_lifetime_syntaxes для выявления неоднозначных lifetime.
- ⚙️ target_feature на x86 теперь проверяет sha512, sm3, sm4, kl, widekl и avx512.
- 🧪 Doctest теперь можно запускать для любых целей через cargo test --doc --target.
- 🌐 Для wasm32-unknown-unknown — поддержка стандартного C ABI в extern "C".
- 📏 Разрешены типы i128/u128 в extern "C" (с ограничениями).
- 📦 В стабильных API: intrinsics для x86, NonZero<char>, File::lock*, NonNull::from_ref*, OsString::leak, PathBuf::leak, Result::flatten, TcpStreamExt::quickack*.
- 🏷 const для <[T; N]>::as_mut_slice, <[u8]>::eq_ignore_ascii_case, str::eq_ignore_ascii_case.
- 🖥️ x86_64-apple-darwin переведена на второй уровень поддержки.
- 🆕 Третий уровень поддержки для loongarch32-unknown-none(-softfloat).

📊 Экосистема:
- В Debian Sid 8% src-пакетов зависят от librust-* (в Debian 12 было 4.5%).
- Более 3 тыс. пакетов содержат код на Rust.
- Инструмент debcargo для преобразования crate → src-пакеты.
- Новый проект tmux-rs — клон tmux на Rust.
- Collabora — статья о GPU-драйверах на Rust.
- Демо-приложение на Rust, работающее на CPU и GPU (CUDA, SPIR-V, Metal, DirectX 12, WebGPU).

#RustLang #Rust #Programming #Release

https://blog.rust-lang.org/2025/08/07/Rust-1.89.0/

@rust_code
25🔥10👍6🤗3👏2🥰1
👣 Вышел Rust 1.91 - фокус на безопасности и платформенной поддержке

Главное
- Rust остаётся языком без GC и тяжёлого runtime, обеспечивая безопасность памяти на этапе компиляции (владение, время жизни, строгая типизация).
- Цель — высокопроизводительный и безопасный параллельный код, без типичных багов низкоуровневой памяти.

Ключевые изменения в 1.91
- Улучшена поддержка Windows на ARM64:
aarch64-pc-windows-msvc поднят до Tier 1 (максимальный уровень гарантии и тестирования).
- Новые lint-предупреждения:
- dangling_pointers_from_locals — ловит возврат висячих указателей.
- integer_to_ptr_transmutes — предупреждает о преобразованиях int → pointer через transmute.
- Cargo:
- стабилизирован параметр build.build-dir для указания каталога временных артефактов.
- ABI:
- стабилизирована поддержка C-style variadic functions для sysv64, win64, efiapi, aapcs.
- Inline-assembly:
- стабильная поддержка для LoongArch32.

Почему это важно
Rust укрепляет позиции как безопасный системный язык для серверов, ОС, embedded и высокопроизводительных приложений. Более жёсткие проверки указателей и расширенная поддержка Windows/ARM — шаг к ещё более широкому продакшн-использованию.

$ rustup update stable

https://blog.rust-lang.org/2025/10/30/Rust-1.91.0/

@rust_code

#Rust #Programming #Release
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥369👍3🤩2🗿21🥰1😡1
⚡️ Rust vs Python - как найти баланс между скоростью и простотой

JetBrains выпустили подробный разбор, где сравнивают Python и Rust без фанатизма — по скорости, синтаксису, памяти, экосистеме, конкурентности и даже по карьерным сценариям.

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

Ключевые моменты

Рост и популярность
- Python уверенно расширяет аудиторию: быстрый вход, огромная экосистема, удобство для ML, веба и автоматизации.
- Rust годами остаётся самым любимым языком разработчиков — благодаря безопасности памяти, скорости и надёжности.

Типы и управление памятью
- Python — динамическая типизация и удобный GC: легко начать, но ошибки всплывают в рантайме.
- Rust — строгая типизация, система владения и заимствований, отсутствие GC: ошибки ловятся на этапе компиляции, производительность предсказуема.

Производительность и конкурентность
- Python ограничен GIL: хорош для I/O, но CPU-параллелизм требует multiprocessing или расширений.
- Rust не имеет GIL — настоящая параллельность, «бесстрашная» конкурентность и контроль безопасности компилятором.

Экосистема
- Python — PyPI, Jupyter, зрелые фреймворки для DS/ML, веба, автоматизации.
- Rust — Cargo и crates.io, сильная база для CLI, системного софта, WebAssembly.

Комбинация Python + Rust
- Тренд — ускорять Python-проекты Rust-модулями.
- Библиотеки типа pydantic-core или Ruff показывают огромный прирост скорости.
- PyO3 делает интеграцию очень простой: Rust-код можно вызывать как обычный Python-модуль.

Карьера
- Python - широкие вакансии, огромный спрос в данных и ML.
- Rust - меньше позиций, но выше специализация в инфраструктуре, системной разработке и высоконагруженных сервисах.

Как выбирать
- Нужна скорость разработки и гибкость — Python.
- Нужна производительность и надёжность — Rust.
- Нужны и то, и другое — гибридный подход Python + Rust.

Подробный разбор
- в блоге JetBrains:
https://blog.jetbrains.com/rust/2025/11/10/rust-vs-python-finding-the-right-balance-between-speed-and-simplicity/

#Rust #Python #Programming #Backend #Performance
💊307👍2🥴1