🛒 Arduino, ESP32 və modullar
CPython üçün Rust: Python nüvəsinə yeni dil gəlir
8 SAAT ƏVVƏLProqramlaşdırma

CPython üçün Rust: Python nüvəsinə yeni dil gəlir

Rust CPython nüvəsinə necə daxil ola bilər? İlk hədəf zlib modulu, məqsəd isə daha az crash və daha təhlükəsiz interpreterdir.

7 oktyabr 20262 dəq oxuma15 teqlər

Rust niyə CPython-a gətirilir?

Python Language Summit 2026-da David Hewitt CPython nüvəsində Rust istifadəsi üçün konkret yol xəritəsi təqdim etdi. Məqsəd – type-crash kimi yaddaş səhvlərini azaltmaq, böyük yeni xüsusiyyətlərin (yeni parser, JIT, free-threading) yaratdığı riskləri daha yaxşı idarə etməkdir.

Komandaya nüvə tərtibatçıları Kirill Podoprigora və Emma Smith rəhbərlik edir, təxminən 60 nəfərlik icma isə Discord-da koordinasiya olunur. Onlar artıq Android və Linux kernel kimi C əsaslı layihələrə Rust inteqrasiyası üzrə təcrübəyə malikdirlər.

Rust artıq ekosistemdə PyO3 və Maturin vasitəsilə Python paketlərində geniş istifadə olunur. İndi söhbət bu yanaşmanı birbaşa CPython kod bazasına gətirməkdən gedir.

Yol xəritəsi: ilk hədəf – zlib

Təklif olunan plan mərhələlidir:

  • 2026 yay – build sistemi, CI və Rust API üçün proof-of-concept
  • 2026 sonu – Rust üçün PEP və rəsmi uğur meyarları
  • Python 3.16 (2027) – tam opsional Rust backend ilə zlib modulu, C kodu ehtiyat kimi qalır
  • Python 3.17 (2028) – platforma problemlərinin həlli, Rust-ın daha çox yerdə sınağı (io, json, xml, memoryview, parser)
  • Python 3.18+ (2029) – Rust build-in məcburi olması və public Rust API

İlk modul kimi zlib seçilib, çünki:

  • Sahəsi kiçikdir, amma təsiri böyükdür – zlib sıxılması Python packaging tərəfindən hər yerdə istifadə olunur;
  • Təklif qəbul olunarsa, demək olar ki, hər pip install Python 3.16-da sürətlənəcək;
  • Xarici Cargo paketindən (zlib-rs) istifadə tələb edir, beləliklə Rust asılılıqlarının build prosesinə inteqrasiyası real ssenaridə sınaqdan keçiriləcək.

Rust API və uğur meyarları

Təklif olunan Rust API #[pyfunction] atributları, Python<'_> konteksti, Py<...> smart pointer-ləri və Result əsaslı səhv emalından istifadə edir. Məsələn, decompress funksiyasında buffer avtomatik olaraq scope bitəndə təmizlənir – C-dəki kimi manual free çağırmağa ehtiyac qalmır.

Komanda Rust-ın sehrli güllə olmadığını vurğulayır: yaddaş sinfi səhvlər azalsa da, düzgünlük səhvləri qalacaq. Buna görə property-based testing, fuzzing və ehtiyatlı engineering practices planlaşdırılır.

Təklif olunan əsas uğur meyarları:

  • Aktiv nüvə tərtibatçılarının əksəriyyəti Rust API-dən istifadə etməyə açıq olmalıdır;
  • CPython performans testlərində əhəmiyyətli yavaşıma olmamalıdır;
  • CPython-un dəstəklədiyi bütün Tier 1–3 platformalar Rust ilə build oluna bilməlidir.

Nəticə olaraq, CPython uzun müddət iki dilli layihə olacaq. Amma yol xəritəsinə görə Rust gələcəkdə build-in məcburi hissəsinə çevrilə bilər – xüsusən təhlükəsizlik və sabitlik qazancları sübut olunarsa.


Mənbə: Python Insider

Videolar

(1)
Rust for CPython – Python Language Summit 2026