ΠΠΌΠΌΠ° Π‘ΠΌΠΈΡ (Emma Smith) ΠΈ ΠΠΈΡΠΈΠ» ΠΠΎΠ΄ΠΎΠΏΡΠΈΠ³ΠΎΡΠ° (Kirill Podoprigora), ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ Π΅ΠΊΠΈΠΏ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Python, ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Ρ Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Pre-PEP) Π·Π° ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust Π² ΠΊΠΎΠ΄ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π° Π½Π° CPython, ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈΡ Π΅Π·ΠΈΠΊ Python. ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Rust ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π½Π΅Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° Modules/. Π ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π°, Π΄ΠΎ Π²Π΅ΡΡΠΈΡ Python 3.17, Rust ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ°Π½Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° CPython.
ΠΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ΠΈ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Rust ΡΠ° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΎΡ ΡΠΈΠΏΠ° use-after-free ΠΈ ΠΈΠ·Π²ΡΠ½ Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π±ΡΡΠ΅ΡΠ°, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΏΠΎΡΠΎΠΊΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½ ΠΊΠΎΠ΄, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π°ΠΊΡΡΠ°Π»Π½ΠΎ Π½Π° ΡΠΎΠ½Π° Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»Π½Π°ΡΠ° ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° CPython Π±Π΅Π· Π³Π»ΠΎΠ±Π°Π»Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π½Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° (GIL, Global Interpreter Lock) Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄ΡΠ΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ (ΠΏΡΠΎΠ΅ΠΊΡ free-threaded Python). Rust ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π²ΠΈΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½ΠΈ, Π½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΠΈ ΡΠ°Π·Π²ΠΈΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Ρ ΠΈΠ³ΠΈΠ΅Π½ΠΈΡΠ½ΠΈ ΠΌΠ°ΠΊΡΠΎΡΠΈ.
ΠΠ»Π°Π½ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅:
- Python 3.15 (2026 Π³ΠΎΠ΄ΠΈΠ½Π°): ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π° ΠΎΡΡΡΡΡΠ²ΠΈΠ΅ Π½Π° Rust Π² ΡΡΠ΅Π΄Π°ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅.
- Python 3.16 (2027 Π³ΠΎΠ΄ΠΈΠ½Π°): ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· Rust ΡΠ°ΠΌΠΎ Ρ ΡΠ»Π°Π³Π° Β«βwith-rust=noΒ».
- Python 3.17 (2028 Π³ΠΎΠ΄ΠΈΠ½Π°): Rust ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ°Π½Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π΅Π½ Π½Π° Π΅ΡΠ°ΠΏΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅.
ΠΠ° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ C API Π½Π° CPython ΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠΆΠ΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΡΠ²ΡΡΠ·Π²Π°Π½ΠΈΡ ΡΡΠ΅Π· bindgen, Π° Π½Π΅ Π½Π° Π²ΡΠ½ΡΠ½ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ, ΠΊΠ°ΡΠΎ PyO3, Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π°Ρ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ ΠΏΡΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° API. ΠΡΠΏΡΠΎΡΠΈΡΠ΅ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅, ΠΊΡΠΎΡ-ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅Π΄ΠΊΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΡΠ° Π² ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΠΎΠ±ΡΡΠΆΠ΄Π°Π½Π΅.
Π ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΎΡΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°Π²Π°, ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° PEP 11 ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΎΡ Rust ΠΏΠΎΠ½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ Tier 2. ΠΡΠΊΠΎΠΈ ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ ΠΈΠ»ΠΈ Π½ΠΈΡΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, HPPA ΠΈ RISC OS) Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ, Π½ΠΎ ΡΠ΅Ρ
Π½ΠΈΡΡ Π΄ΡΠ» Π² Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π° Python ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»Π΅Π½.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
