LINUXTALKS.CO

1
ВсСго сообщСний: 31

Π’ Ubuntu 25.10 Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ sudo, написанный Π½Π° Rust

Π“Ρ€ΡƒΠΏΠΏΠ° Canonical / Ubuntu

Компания Canonical Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π° Π² осСннСм выпускС Ubuntu 25.10 Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π°Π½Π°Π»ΠΎΠ³ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ sudo, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ sudo-rs ΠΈ написанный Π½Π° языкС Rust. Π’ ΠΌΠ°Ρ€Ρ‚Π΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ принято Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ GNU Coreutils Π½Π° инструмСнтарий uutils. На стадии рассмотрСния находятся ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Ρ‹ ΠΏΠΎ Π·Π°ΠΌΠ΅Π½Π΅ zlib ΠΈ ntpd Π½Π° zlib-rs ΠΈ ntpd-rs, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡŽ Sequoia вмСсто GnuPG Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅ APT.

Π’ sudo-rs ΠΏΠΎ возмоТности обСспСчСна ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с классичСскими ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ sudo ΠΈ su, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ sudo-rs Π² качСствС ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ‹ sudo Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ сцСнариСв использования. Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π½Π΅ ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΡ… ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° uutils ΠΈ sudo-rs, Π² Ubuntu 25.10 Π±ΡƒΠ΄Π΅Ρ‚ прСдоставлСна опция для ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° классичСскиС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ систСмных ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ coreutils ΠΈ sudo.

ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ использованиС sudo-rs Π½Π΅ доТидаясь выпуска Ubuntu 25.10 ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ инструмСнтария oxidizr. Π’ настоящСС врСмя Π² oxidizr доступны экспСримСнты для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π° использованиС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² uutils coreutils, uutils findutils, uutils diffutils ΠΈ sudo-rs. НапримСр, для Π·Π°ΠΌΠ΅Π½Ρ‹ Π² своСй систСмС sudo достаточно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «sudo oxidizr enable –experiments sudo-rs», Π° для возвращСния Π² исходноС состояниС ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «oxidizr disable».

Π—Π°ΠΌΠ΅Π½Π° систСмных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² производится Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Ρ‹ ΠΏΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ качСства систСмного окруТСния Ρ‡Π΅Ρ€Π΅Π· поставку ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… с оглядкой Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ. ΠŸΠΎΡΡ‚Π°Π²ΠΊΠ° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, написанных Π½Π° языкС Rust, даст Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ риск появлСния ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ области памяти послС Π΅Ρ‘ освобоТдСния ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π±ΡƒΡ„Π΅Ρ€Π°. Если экспСримСнт Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ·Π½Π°Π½ ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΌ, Ρ‚ΠΎ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Π½Π° Rust Π±ΡƒΠ΄ΡƒΡ‚ задСйствованы ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² LTS-Π²Π΅Ρ‚ΠΊΠ΅ Ubuntu 26.04.

Π’ анонсС Ρ‚Π°ΠΊΠΆΠ΅ упоминаСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Canonical Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡŽ возмоТностСй sudo-rs ΠΈ uutils. Π‘Ρ€Π΅Π΄ΠΈ Π·Π°Π΄Π°Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² sudo-rs Π΄ΠΎ выпуска Ubuntu 25.10: рСализация Ρ€Π΅ΠΆΠΈΠΌΠ° NOEXEC, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΉ AppArmor, созданиС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ sudoedit ΠΈ обСспСчСниС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ старых ядСр Linux (ΡΡ‚Π°Ρ€ΡˆΠ΅ выпуска 5.9). Π Π΅ΠΆΠΈΠΌ NOEXEC ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² execve ΠΈ execveat Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запуск Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… процСссов для Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· sudo ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Из проспонсированных Canonical Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π² uutils упоминаСтся рСализация ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ SELinux Π² Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ mv, ls ΠΈ cp, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ sort Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈ).

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 , ,

MrSugoma ()

ΠšΡ€ΠΈΠ·ΠΈΡ Π² ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ Rust Π² ядро ΠΈΠ·-Π·Π° опасСний услоТнСния сопровоТдСния

Π“Ρ€ΡƒΠΏΠΏΠ° Π―Π΄Ρ€ΠΎ Linux

ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ Π₯Π΅Π»Π²ΠΈΠ³ (Christoph Hellwig), мэйнтСйнСр подсистСм DMA, KVM, Slab Allocator ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ PowerPC Π² ядрС Linux, Π² своё врСмя Π²Ρ…ΠΎΠ΄ΠΈΠ²ΡˆΠΈΠΉ Π² ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ тСхничСский ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Linux Foundation ΠΈ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Π²ΡˆΠΈΠΉ истцом Π² связанном с GPL судСбном Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π΅ с VMware, отказался ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ΠΈ, связанныС с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Π½Π° языкС Rust. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ‚Ρ‡ΠΈ добавляли обвязки Π½Π°Π΄ нСсколькими функциями подсистСмы DMA, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ DMA Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… Π½Π° языкС Rust.

( Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС... )

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 , ,

MrSugoma ()

На Π±Π°Π·Π΅ Clang для языка Π‘ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ€Π΅ΠΆΠΈΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π³Ρ€Π°Π½ΠΈΡ† Π±ΡƒΡ„Π΅Ρ€ΠΎΠ²

Π“Ρ€ΡƒΠΏΠΏΠ° Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

Π˜Π½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Apple объявили ΠΎ готовности для тСстирования Ρ€Π΅ΠΆΠΈΠΌΠ° "-fbounds-safety" для компилятора Clang, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ бСзопасной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΡƒΡ„Π΅Ρ€Π°ΠΌΠΈ Π² ΠΊΠΎΠ΄Π΅ Π½Π° языкС Π‘ΠΈ. Π Π΅ΠΆΠΈΠΌ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Π² состав Ρ„ΠΎΡ€ΠΊΠ° LLVM, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Apple для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Swift. Π’ дальнСйшСм Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π° постСпСнная ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ "-fbounds-safety" Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ LLVM/Clang.

( Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС... )

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 , ,

MrSugoma ()

Выпуск Rust 1.84. Π―Π΄Ρ€Π° Tock ΠΈ Vekos, написанныС Π½Π° Rust. Π”ΠΈΠ°Π»Π΅ΠΊΡ‚ Mini-C

Π“Ρ€ΡƒΠΏΠΏΠ° Open Source

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· языка программирования ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния Rust 1.84, основанного ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Mozilla, Π½ΠΎ Π½Ρ‹Π½Π΅ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ΄ ΠΏΠΎΠΊΡ€ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ нСзависимой нСкоммСрчСской ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Rust Foundation. Π―Π·Ρ‹ΠΊ сфокусирован Π½Π° бСзопасной Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ прСдоставляСт срСдства для достиТСния высокого ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° выполнСния Π·Π°Π΄Π°Π½ΠΈΠΉ, ΠΏΡ€ΠΈ этом ΠΎΠ±Ρ…ΠΎΠ΄ΡΡΡŒ Π±Π΅Π· использования сборщика мусора ΠΈ runtime (runtime сводится ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ).

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π² Rust ΠΈΠ·Π±Π°Π²Π»ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΎΡ‚ ошибок ΠΏΡ€ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ указатСлями ΠΈ Π·Π°Ρ‰ΠΈΡ‰Π°ΡŽΡ‚ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΈΠ·-Π·Π° Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ области памяти послС Π΅Ρ‘ освобоТдСния, Ρ€Π°Π·Ρ‹ΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ, Π²Ρ‹Ρ…ΠΎΠ΄ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π±ΡƒΡ„Π΅Ρ€Π° ΠΈ Ρ‚.ΠΏ. Для распространСния Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, обСспСчСния сборки ΠΈ управлСния зависимостями ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ развиваСтся ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Cargo. Для размСщСния Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ поддСрТиваСтся Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ crates.io.

БСзопасная Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ обСспСчиваСтся Π² Rust Π²ΠΎ врСмя компиляции Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ссылок, отслСТиваниС владСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΡƒΡ‡Ρ‘Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (области видимости) ΠΈ ΠΎΡ†Π΅Π½ΠΊΡƒ коррСктности доступа ΠΊ памяти Π²ΠΎ врСмя выполнСния ΠΊΠΎΠ΄Π°. Rust Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт срСдства для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ цСлочислСнных ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ использованиСм, Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ошибки Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅, примСняСт ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ нСизмСняСмости (immutable) ссылок ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡΠΈΠ»ΡŒΠ½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ для ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ логичСских ошибок.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°:

  • Π’ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅ Cargo стабилизирован ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ зависимостСй, Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‰ΠΈΠΉ вСрсии зависимых ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ совмСстимости с вСрсиями компилятора Rust, заявлСнными ΠΊΠ°ΠΊ минимально ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ (MSRV, Minimum Supported Rust Version). Новая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ позволяСт ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ… ΠΎΡ‚ нСобходимости Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° старых вСрсий ΠΊΠ°ΠΆΠ΄ΠΎΠΉ зависимости Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰ΠΈΡ… ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ со старыми вСрсиями инструмСнтария Rust. Новый Ρ€Π΅ΠΆΠΈΠΌ опрСдСлСния зависимостСй Π±ΡƒΠ΄Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² выпускС Rust 1.85, Π° ΠΏΠΎΠΊΠ° доступСн Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΎΠΏΡ†ΠΈΠΈ, для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² сСкции "[resolver]" Π² Ρ„Π°ΠΉΠ»Π΅ ".cargo/config.toml" слСдуСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ 'incompatible-rust-versions = "fallback"'.
  • Начат ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ компилятора Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ‚ΠΈΠΏΠΎΠ² (trait solver), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π³Ρ€Π°Π½ΠΈΡ† примСнимости Ρ‚ΠΈΠΏΠ°ΠΆΠ΅ΠΉ, Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΠΎΡ†Π΅Π½ΠΊΠΈ совмСстимости Ρ‚ΠΈΠΏΠΎΠ².Π’ вСрсии 1.84 Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ задСйствован для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ согласованности Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Ρ‚ΠΈΠΏΠ°ΠΆΠ΅ΠΉ, Ρ‚.Π΅. ΠΎΡ†Π΅Π½ΠΊΠΈ сущСствования Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°ΠΆΠ° для рассматриваСмого Ρ‚ΠΈΠΏΠ° с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΊΠΎΠ΄Π° ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… crate-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Указанная ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² старой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ², ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ способных привСсти ΠΊ появлСнию ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΈΠ·-Π·Π° пСрСсСчСния Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Ρ‚ΠΈΠΏΠ°ΠΆΠ΅ΠΉ.
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ API "Strict Provenance", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для привСдСния указатСля ΠΊ Ρ†Π΅Π»ΠΎΠΌΡƒ числу ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Ρ‘Π½Π½Ρ‹Ρ… ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π΅Π³ΠΎ происхоТдСнии ΠΈ области использования (ΠΏΠΎΠΌΠΈΠΌΠΎ адрСса ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ прикрСпляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "provenance" с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ связи с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ указатСлями, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π³Π΄Π΅ ΠΈ ΠΊΠΎΠ³Π΄Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ памяти). ΠŸΡ€ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠΈ указатСля ΠΊ Ρ†Π΅Π»ΠΎΠΌΡƒ числу ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ·-Π·Π° проблСматичности ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ происхоТдСниС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ указатСля. Новый API позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с указатСлями, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ сохранСниС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΌΠ»Π°Π΄ΡˆΠΈΡ… Π±ΠΈΡ‚Π°Ρ… указатСля, Π±Π΅Π· привСдСния указатСля ΠΊ Ρ†Π΅Π»ΠΎΠΌΡƒ числу.
  • Π’ разряд ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° новая порция API, Π² Ρ‚ΠΎΠΌ числС стабилизированы ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ°ΠΆΠ΅ΠΉ:
  • Ipv6Addr::is_unique_local
  • Ipv6Addr::is_unicast_link_local
  • core::ptr::with_exposed_provenance
  • core::ptr::with_exposed_provenance_mut
  • <ptr>::addr
  • <ptr>::expose_provenance
  • <ptr>::with_addr
  • <ptr>::map_addr
  • <int>::isqrt
  • <int>::checked_isqrt
  • <uint>::isqrt
  • NonZero::isqrt
  • core::ptr::without_provenance
  • core::ptr::without_provenance_mut
  • core::ptr::dangling
  • core::ptr::dangling_mut
  • Pin::as_deref_mut
  • ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ "const" ΠΏΡ€ΠΈΠΌΠ΅Π½Ρ‘Π½ Π² функциях:
  • AtomicBool::from_ptr
  • AtomicPtr::from_ptr
  • AtomicU8::from_ptr
  • AtomicU16::from_ptr
  • AtomicU32::from_ptr
  • AtomicU64::from_ptr
  • AtomicUsize::from_ptr
  • AtomicI8::from_ptr
  • AtomicI16::from_ptr
  • AtomicI32::from_ptr
  • AtomicI64::from_ptr
  • AtomicIsize::from_ptr
  • <ptr>::is_null
  • <ptr>::as_ref
  • <ptr>::as_mut
  • Pin::new
  • Pin::new_unchecked
  • Pin::get_ref
  • Pin::into_ref
  • Pin::get_mut
  • Pin::get_unchecked_mut
  • Pin::static_ref
  • Pin::static_mut
  • Π‘Ρ‚Π°Π±ΠΈΠ»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ассСмблСрных inline-вставок для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ s390x ΠΈ Arm64EC.
  • Для Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ WebAssembly стабилизирована ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ multivalue, reference-types ΠΈ tail-call.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ wasm32v1-none. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡŽ сборки.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ нСсколько ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², связанных с Rust:

  • ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Tock 2.2, написанной Π½Π° языкС Rust ΠΈ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° использованиС Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ…. БистСма позволяСт ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π½Π΅ Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… довСрия ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° встраиваСмых устройствах, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠžΠ—Π£, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ, TPM (Trusted Platform Module), Π±Ρ€Π΅Π»ΠΎΠΊΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ носимыС устройства. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ARM Cortex-M ΠΈ RISC-V. ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Tock являСтся изоляция ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ядра ΠΈ слоя с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ изоляция ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ прилоТСния ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Для изоляции ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ возмоТности языка Rust, Ρ‚Π°ΠΊ ΠΈ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ памяти.

  • ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ VEKOS (Verified Experimental Kernel OS) Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ ядро ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π½Π° языкС Rust, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π΅ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ выполняСмых ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой, создании процСсса ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ памяти формируСтся криптографичСскоС ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π²ΠΎ врСмя выполнСния (рСализация сравниваСтся с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π° для Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ дСйствий Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС). Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС VKFS для обСспСчСния цСлостности ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ искаТСния Π·Π°Π΄Π½ΠΈΠΌ числом задСйствована структура "Π΄Π΅Ρ€Π΅Π²ΠΎ ΠœΠ΅Ρ€ΠΊΠ»Π°" (Merkle Tree), каТдая Π²Π΅Ρ‚ΠΊΠ° Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ всС Π½ΠΈΠΆΠ΅Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ ΡƒΠ·Π»Ρ‹, благодаря Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΌΡƒ Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти производится Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ COW (Copy-On-Write).

  • Π“Ρ€ΡƒΠΏΠΏΠ° исслСдоватСлСй ΠΈΠ· Microsoft ΠΈ Inria Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ подмноТСство языка Π‘ΠΈ - Mini-C, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для автоматичСской трансляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° языкС Π‘ΠΈ Π² прСдставлСниС Π½Π° языкС Rust. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ компилятора c2rust, Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ позволяСт Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Rust-ΠΊΠΎΠ΄ Π±Π΅Π· использования unsafe, Π½ΠΎ Π½Π°Ρ†Π΅Π»Π΅Π½ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π‘ΠΈ-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ надёТности. ΠŸΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ Π²Π½Π°Ρ‡Π°Π»Π΅ пСрСвСсти Π‘ΠΈ-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² прСдставлСниС Π½Π° Mini-C, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с указатСлями, Ρ‡Π΅ΠΌ пСрСписываниС unsafe-Π±Π»ΠΎΠΊΠΎΠ² послС прямой компиляции ΠΈΠ· Π‘ΠΈ Π² Rust.
    РСализация компилятора базируСтся Π½Π° инструмСнтарии KaRaMeL. Mini-C Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΈ ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π½ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Π½ΠΈΡŽ Π½Π° Rust криптографичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ HACL*, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ прСдоставлСно Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ надёТности. ПодобноС Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π±Ρ‹Π»ΠΎ использовано для дСмонстрации возмоТности Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· Mini-C бСзопасный ΠΊΠΎΠ΄ Π½Π° Rust.

  • ДэниСл CΡ‚Π΅Π½Π±Π΅Ρ€Π³ (Daniel Stenberg), Π°Π²Ρ‚ΠΎΡ€ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ curl, объявил ΠΎ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Curl Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ HTTP-бэкСнда, написанного Π½Π° Rust с использованиСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Hyper. Π’ качСствС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ΡƒΠΊΠ°Π·Π°Π½ΠΎ отсутствиС интСрСса со стороны Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

  • Анонсирован Π±Π΅Ρ‚Π°-выпуск ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Fish 4.0, пСрСписанный Π½Π° языкС Rust. ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ послС Π΄Π²ΡƒΡ… Π»Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ кодовая Π±Π°Π·Π° Fish Π±Ρ‹Π»Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° с Π‘++ Π½Π° Rust.ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Rust ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ соврСмСнный инструмСнтарий, Π²Ρ‹ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉ ошибки Π½Π° этапС компиляции, ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ для Π½ΠΎΠ²Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

  • ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Tor ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» выпуск Arti 1.3.2, Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Tor-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π½Π° языкС Rust.Arti прСдоставляСт Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π΅ΠΌΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ прилоТСния. ΠŸΡ€ΠΈ создании Arti ΡƒΡ‡Ρ‚Ρ‘Π½ ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Tor для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ извСстных Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈ эффСктивным. Π’Π΅Ρ‚ΠΊΠ° 1.x ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π° ΠΊΠ°ΠΊ пригодная для использования ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΡŽΠ·Π°Π±ΠΈΠ»ΠΈΡ‚ΠΈ ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ основная рСализация Π½Π° языкС Π‘ΠΈ. Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° RPC, ΠΏΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π΅Π»Π΅Π΅Π² ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DoS-Π°Ρ‚Π°ΠΊ Π½Π° Onion-сСрвисы.

  • ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ выпуск ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° Bevy 0.15, написанного Π½Π° Rust. Π’ Π΄Π²ΠΈΠΆΠΊΠ΅ примСняСтся датацСнтричная модСль (Data Driven) опрСдСлСния ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ, построСнная ΠΏΠΎΠ²Π΅Ρ€Ρ… Π½Π°Π±ΠΎΡ€Π° Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Bevy ECS (Entity Component System), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ 2D ΠΈ 3D Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³, скСлСтная анимация, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°, систСма формирования сцСн, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для построСния интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, внСсСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² сцСны ΠΈ рСсурсы Π±Π΅Π· нСобходимости пСрСзапуска.

  • ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Helix 25.01, написанный Π½Π° Rust ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰ΠΈΠΉ ΠΈΠ΄Π΅ΠΈ, Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π² vim ΠΈ neovim. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ интСграция с LSP-сСрвСрами ΠΈ с Tree-sitter, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ², использованиС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… курсоров ΠΏΡ€ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Ρ‚Π΅ΠΌΡ‹ оформлСния, ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» DAP (Debug Adapter Protocol).

  • Π’ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Servo, написанный Π½Π° Rust, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Ρ‘ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° оформлСния. На 20% сокращён Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ServoShell. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° web-спСцификаций Π΄ΠΎΠ²Π΅Π΄Π΅Π½Π° Π΄ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ…ΠΎΠ΄Π° ΠΈ чтСния сообщСний Π² Discord (ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСний ΠΏΠΎΠΊΠ° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°).

  • Компания Mozilla прСдставила инструмСнтарий Uniffi for React Native для создания ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΊ React Native Π½Π° языкС Rust.

  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΎ тСстированиС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠ² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PNG. Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΈ Π½Π° Rust (png, zune-png, wuffs) оказались быстрСС Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠ² Π½Π° Π‘ΠΈ (libpng, spng, stb_image). НапримСр, crate-ΠΏΠ°ΠΊΠ΅Ρ‚ png (image-rs) ΠΎΠ±ΠΎΠ³Π½Π°Π» libpng Π² 1.8 Ρ€Π°Π·Π° Π½Π° систСмС x86 ΠΈ Π² 1.5 Ρ€Π°Π·Π° Π½Π° систСмС ARM.

image-rs:375.401 MP/s (average) 318.632 MP/s (geomean)
zune-png:376.649 MP/s (average) 302.529 MP/s (geomean)
wuffs:376.205 MP/s (average) 287.181 MP/s (geomean)
libpng:208.906 MP/s (average) 173.034 MP/s (geomean)
spng:299.515 MP/s (average) 235.495 MP/s (geomean)
stb_image:234.353 MP/s (average) 171.505 MP/s (geomean)

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 , ,

MrSugoma ()

Google Π²Ρ‹Π΄Π΅Π»ΠΈΠ» ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π½Π° ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ пСрСносимости ΠΌΠ΅ΠΆΠ΄Ρƒ Π‘++ ΠΈ Rust

Π“Ρ€ΡƒΠΏΠΏΠ° ΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ

Компания Google прСдоставила ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Rust Foundation Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π³Ρ€Π°Π½Ρ‚, Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 1 ΠΌΠ»Π½ Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΡ€ΠΎΡ„ΠΈΠ½Π°Π½ΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ взаимодСйствия ΠΊΠΎΠ΄Π° Π½Π° языкС Rust с ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ, написанными Π½Π° языкС C++. Π“Ρ€Π°Π½Ρ‚ рассматриваСтся ΠΊΠ°ΠΊ инвСстиция, которая Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Rust Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Android.

( Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС... )

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 

crypt ()

Линус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ сказал Ρ‡Ρ‚ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ большС ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ°Π»ΡŒΡ†Π΅ΠΌ...

Π“Ρ€ΡƒΠΏΠΏΠ° ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΠΈΠΈ

На саммитС Open Source Π² Π―ΠΏΠΎΠ½ΠΈΠΈ Линус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ Π² бСсСдС с Π³Π»Π°Π²ΠΎΠΉ Verizon ΠΏΠΎ Open Source Π”ΠΈΡ€ΠΊΠΎΠΌ Π₯ΠΎΠ½Π΄Π΅Π»ΠΎΠΌ, сказал Ρ‡Ρ‚ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Β«ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ°Π»ΡŒΡ†Π΅ΠΌ Π½Π° ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ компанию. Π― усвоил ΡƒΡ€ΠΎΠΊΒ».

Π•Ρ‰Ρ‘:

Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ»: «Найти Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅; Ρƒ нас ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². НСкоторыС люди Π΄ΡƒΠΌΠ°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ супСрразработчиком, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ всС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΌ, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ это Π½Π΅ Ρ‚Π°ΠΊΒ». Β«Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΌ, Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ вкусом, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡƒΠ΄ΠΈΡ‚ΡŒ ΠΎ ΠΊΠΎΠ΄Π΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… людСй. НСкоторыС ΠΈΠ· этих качСств ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ€ΠΎΠΆΠ΄Ρ‘Π½Π½Ρ‹ΠΌΠΈ, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ просто Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈΒ», β€” ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ» Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ. По Π΅Π³ΠΎ мнСнию, ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΌΠ΅Ρ‚ΡŒ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΊΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΡ… людСй ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° вопрос: Β«Π­Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Β». Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ пояснил, Ρ‡Ρ‚ΠΎ Β«ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это просто вопрос Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄Π΅Π»Π°Π»ΠΈ это Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚Β».

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ»: Β«Π£ нас Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ…, Π½ΠΎ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΌ всС врСмя ΠΈΠ»ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ…, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ своих отпусков ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈΒ».

Π§Ρ‚ΠΎ касаСтся Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠ°: Β«Π‘Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΌ всС врСмя Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ нравится Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я дСлаю». «НСсколько мСсяцСв Π½Π°Π·Π°Π΄ я Π±Ρ‹Π» Π² отпускС, ΠΈ Ρƒ мСня Π΅ΡΡ‚ΡŒ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊ. И Ссли Π±Ρ‹ Ρƒ мСня Π½Π΅ Π±Ρ‹Π»ΠΎ с собой Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ°, ΠΌΠ½Π΅ Π±Ρ‹ Π±Ρ‹Π»ΠΎ Ρ‚Π°ΠΊ скучно. Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Π΅ΠΌ я занимаюсь. Но я понял, Ρ‡Ρ‚ΠΎ такая Тизнь Π½Π΅ для всСх, особСнно ΠΊΠΎΠ³Π΄Π° Π½Π° это приходится Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π³ΠΎΠ΄Ρ‹ своСй ΠΆΠΈΠ·Π½ΠΈΒ», β€” рассказал Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ.

Подводя ΠΈΡ‚ΠΎΠ³, Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ сказал: Β«Π­Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Ρ‚Π΅Ρ… Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ люди Π΄ΡƒΠΌΠ°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄ β€” это всС ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π½ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ это Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅. Π― Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ имСю Π² Π²ΠΈΠ΄Ρƒ язык. Π― имСю Π² Π²ΠΈΠ΄Ρƒ контСкст, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ создания ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ слоТная Ρ€Π°Π±ΠΎΡ‚Π°. Но Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π±Ρ‹Ρ‚ΡŒ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΌ, ΠΏΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΌΠ½Π΅, Π½Π°Π²Π΅Ρ€Ρ…Ρƒ Π΅ΡΡ‚ΡŒ мСсто».

Π₯ΠΎΠ½Π΄Π΅Π» ΠΏΡ€ΠΎΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π», Ρ‡Ρ‚ΠΎ старСниС сообщСства ядра β€” это Β«ΠΏΠ°Π»ΠΊΠ° ΠΎ Π΄Π²ΡƒΡ… ΠΊΠΎΠ½Ρ†Π°Ρ…Β». Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ согласился с этим, Π½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ сообщСство Linux мСняСтся. «Одна ΠΈΠ· Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ½Π΅ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»ΠΈΡΡŒ Π² части ядра Rust, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ Π±Ρ‹Π» ΠΎΠ΄ΠΈΠ½ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ явно Π±Ρ‹Π» Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ»ΠΎΠΆΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ…. ΠœΡ‹ ясно Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ области ядра привносят срСди большСго количСства ΠΌΠΎΠ»ΠΎΠ΄Ρ‹Ρ… людСй. НапримСр, Ρ‡Ρ‚ΠΎ касаСтся Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»Π΅Π³Ρ‡Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΌΠΎΠ»ΠΎΠ΄Ρ‹Ρ… людСй, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ ΠΌΡ‹ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ вырастили мноТСство ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π“Ρ€Π΅Π³Π° ΠšΡ€ΠΎΠ°-Π₯Π°Ρ€Ρ‚ΠΌΠ°Π½Π°, ΠΌΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ ядра LinuxΒ», β€” ΡƒΡ‚ΠΎΡ‡Π½ΠΈΠ» Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ.

>>> Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

 , , ,

rezedent12 ()

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠΎΠ΄Π° Rust-компилятора Ferrocene

Π“Ρ€ΡƒΠΏΠΏΠ° Open Source

Компания Ferrous Systems объявила ΠΎ Π½Π°Ρ‡Π°Π»Π΅ прСобразования Ferrocene, ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½ΠΎΠ³ΠΎ дистрибутива с Rust-компилятором для критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… систСм, Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Код Ferrocene ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ лицСнзиями Apache 2.0 ΠΈ MIT. Ferrocene прСдоставляСт инструмСнтарий для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° языкС Rust ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… систСм, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠΉ надёТности (Safety-Critical Systems), сбой Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ³Ρ€ΠΎΠΆΠ°Ρ‚ΡŒ ΠΆΠΈΠ·Π½ΠΈ людСй, нанСсти Π²Ρ€Π΅Π΄ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΉ срСдС ΠΈΠ»ΠΈ привСсти ΠΊ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹ΠΌ поврСТдСниям оборудования.

( Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС... )

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 

crypt ()

JetBrains прСдставил IDE RustRover ΠΈ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΠ» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π° intellij-rust

Π“Ρ€ΡƒΠΏΠΏΠ° Open Source

Компания JetBrains прСдставила Π½ΠΎΠ²ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ RustRover, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° написаниС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° языкС Rust. Π‘Ρ€Π΅Π΄Π° RustRover Π½Π°Ρ†Π΅Π»Π΅Π½Π° Π½Π° ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ эффСктивности Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° языкС Rust, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈΠ΅ потрСбностСй связанной с Rust экосистСмы ΠΈ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π΄Π°Π½Π½ΠΎΠ³ΠΎ языка. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ коммСрчСский ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, Π½ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° основС бСсплатной community-вСрсии срСды IntelliJ IDEA с ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ intellij-rust. Π’ настоящСС врСмя для тСстирования Π±Π΅Π· ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ доступСн ΠΏΡ€Π΅Ρ€Π΅Π»ΠΈΠ· RustRover, сборки ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ для Linux, macOS ΠΈ Windows. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· RustRover ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎ сСнтября 2024 Π³ΠΎΠ΄Π°.

( Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС... )

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 

crypt ()

Выпуск Π½Π°Π±ΠΎΡ€Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ GNU Coreutils 9.4 ΠΈ Π΅Π³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π½Π° языкС Rust

Π“Ρ€ΡƒΠΏΠΏΠ° Open Source

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия Π½Π°Π±ΠΎΡ€Π° Π±Π°Π·ΠΎΠ²Ρ‹Ρ… систСмных ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ GNU Coreutils 9.4, Π² состав ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ входят Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠ°ΠΊ sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls ΠΈ Ρ‚.Π΄.

( Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС... )

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 

crypt ()

Вирус Π½Π° Rust, Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅Π΅ сСрвСры Redis

Π“Ρ€ΡƒΠΏΠΏΠ° ΠΠ½ΠΎΠ½ΠΈΠΌΠ½ΠΎΡΡ‚ΡŒ ΠΈ P2P

Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ Unit 42 ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‡Π΅Ρ€Π²ΡŒ P2PInfect, ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΠΉ свою P2P-ΡΠ΅Ρ‚ΡŒ для распространСния врСдоносного ПО Π±Π΅Π· примСнСния Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… сСрвСров. ПослС ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΠΈ хост ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ созданной P2P-сСти, Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π· с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ P2PInfect для Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (поддСрТиваСтся Linux ΠΈ Windows) ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ сканирования Π΄Ρ€ΡƒΠ³ΠΈΡ… уязвимых хостов для ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π½Π° Π½ΠΈΡ… Π°Ρ‚Π°ΠΊΠΈ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΡ… Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ распространСния чСрвя. ΠŸΡ€ΠΈ сканировании Π²Ρ‹ΡΠ²Π»ΡΡŽΡ‚ΡΡ уязвимыС сСрвСры Redis ΠΈ провСряСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ доступа ΠΏΠΎ SSH. Код чСрвя написан Π½Π° языкС Rust.

( Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС... )

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 

crypt ()

Выпуск языка программирования Rust 1.71

Π“Ρ€ΡƒΠΏΠΏΠ° Open Source

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· языка программирования ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния Rust 1.71, основанного ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Mozilla, Π½ΠΎ Π½Ρ‹Π½Π΅ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ΄ ΠΏΠΎΠΊΡ€ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ нСзависимой нСкоммСрчСской ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Rust Foundation. Π―Π·Ρ‹ΠΊ сфокусирован Π½Π° бСзопасной Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ прСдоставляСт срСдства для достиТСния высокого ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° выполнСния Π·Π°Π΄Π°Π½ΠΈΠΉ, ΠΏΡ€ΠΈ этом ΠΎΠ±Ρ…ΠΎΠ΄ΡΡΡŒ Π±Π΅Π· использования сборщика мусора ΠΈ runtime (runtime сводится ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ).

( Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС... )

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 

crypt ()

Выпуск языка программирования Rust 1.70

Π“Ρ€ΡƒΠΏΠΏΠ° Open Source

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· языка программирования ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния Rust 1.70, основанного ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Mozilla, Π½ΠΎ Π½Ρ‹Π½Π΅ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ΄ ΠΏΠΎΠΊΡ€ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ нСзависимой нСкоммСрчСской ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Rust Foundation. Π―Π·Ρ‹ΠΊ сфокусирован Π½Π° бСзопасной Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ прСдоставляСт срСдства для достиТСния высокого ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° выполнСния Π·Π°Π΄Π°Π½ΠΈΠΉ, ΠΏΡ€ΠΈ этом ΠΎΠ±Ρ…ΠΎΠ΄ΡΡΡŒ Π±Π΅Π· использования сборщика мусора ΠΈ runtime (runtime сводится ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ).

( Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС... )

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 

crypt ()

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ sudo ΠΈ su Π½Π° языкС Rust

Π“Ρ€ΡƒΠΏΠΏΠ° Open Source

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ISRG (Internet Security Research Group), которая являСтся ΡƒΡ‡Ρ€Π΅Π΄ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Let's Encrypt ΠΈ способствуСт ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡŽ HTTPS ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ защищённости ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, прСдставила ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Sudo-rs ΠΏΠΎ созданию написанных Π½Π° языкС Rust Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ sudo ΠΈ su, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Под лицСнзиями Apache 2.0 ΠΈ MIT ΡƒΠΆΠ΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ вСрсия Sudo-rs, ΠΏΠΎΠΊΠ° Π½Π΅ готовая ΠΊ повсСмСстному использованию. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚, Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π°Ρ‡Π°Π»Π°ΡΡŒ Π² Π΄Π΅ΠΊΠ°Π±Ρ€Π΅ 2022 Π³ΠΎΠ΄Π°, ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π² сСнтябрС 2023 Π³ΠΎΠ΄Π°.

( Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС... )

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 

crypt ()

Компания Microsoft Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ ΠΊΠΎΠ΄ Π½Π° Rust Π² ядро Windows 11

Π“Ρ€ΡƒΠΏΠΏΠ° ΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ

Дэвид ВСстон, Π²ΠΈΡ†Π΅-ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚ Microsoft, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Windows, Π² своём Π΄ΠΎΠΊΠ»Π°Π΄Π΅ Π½Π° ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ BlueHat IL 2023 подСлился ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Windows. Π‘Ρ€Π΅Π΄ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ упомянут прогрСсс Π² задСйствовании языка Rust для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ бСзопасности ядра Windows. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, заявлСно, Ρ‡Ρ‚ΠΎ написанный Π½Π° Rust ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ядро Windows 11 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΆΠ΅ Ρ‡Π΅Ρ€Π΅Π· нСсколько мСсяцСв ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ нСдСль.

( Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС... )

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 

crypt ()

Π˜Π½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π° ΠΏΠΎ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ инструмСнтария для Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° Xen Π½Π° языкС Rust

Π“Ρ€ΡƒΠΏΠΏΠ° Open Source

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ XCP-ng, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΠΎΠ΄ ΠΊΡ€Ρ‹Π»ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Xen, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ ΠΏΠ»Π°Π½ ΠΏΠΎ созданию Π½Π° языкС Rust Π·Π°ΠΌΠ΅Π½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ стСка Xen. НСпосрСдствСнно Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ Xen ΠΏΠΎΠΊΠ° ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ, Ρ€Π°Π±ΠΎΡ‚Π° сосрСдоточСна Π² основном Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»ΠΊΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² инструмСнтария.

( Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС... )

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 

crypt ()

ΠšΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ Fish ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° языкС Rust

Π“Ρ€ΡƒΠΏΠΏΠ° Open Source

ΠŸΠ΅Ρ‚Π΅Ρ€ Аммон (Peter Ammon), Π»ΠΈΠ΄Π΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Fish, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΠΏΠ»Π°Π½ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° язык Rust. ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ с нуля, Π° постСпСнно, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π·Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ с C++ Π½Π° язык Rust. По мнСнию Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Fish ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Rust ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ соврСмСнный ΠΈ качСствСнно Π²Ρ‹ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉ ошибки инструмСнтарий, ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ошибок, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ памяти послС Π΅Ρ‘ освобоТдСния, ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ строк, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² Fish ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΈΠΏ wchar_t.

( Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС... )

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 

crypt ()

Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ C++ раскритиковал навязываниС бСзопасных языков программирования

Π“Ρ€ΡƒΠΏΠΏΠ° ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΠΈΠΈ

Π‘ΡŒΡ‘Ρ€Π½ Бтрауструп (Bjarne Stroustrup), ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ языка C++, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» возраТСния ΠΏΡ€ΠΎΡ‚ΠΈΠ² Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ², сдСланных Π² ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π΅ АНБ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ организациям Π±Ρ‹Π»ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ ΠΎΡ‚ΠΎΠΉΡ‚ΠΈ ΠΎΡ‚ использования языков программирования, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π‘ΠΈ ΠΈ Π‘ΠΈ++, ΠΏΠ΅Ρ€Π΅ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ языков, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ C#, Go, Java, Ruby, Rust ΠΈ Swift, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… автоматичСскоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ бСзопасной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π²ΠΎ врСмя компиляции.

По мнСнию Бтрауструпа упомянутыС Π² ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π΅ АНБ бСзопасныС языки Π½Π° Π΄Π΅Π»Π΅ Π½Π΅ прСвосходят C++ Π² Π²Π°ΠΆΠ½Ρ‹Ρ… с Π΅Π³ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния примСнСниях. Π’ частности, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ послСдниС Π³ΠΎΠ΄Ρ‹ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ использованию C++ (C++ Core Guidelines) ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ бСзопасного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ срСдств, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΈ рСсурсами. ΠŸΡ€ΠΈ этом Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ строгиС Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ бСзопасности, оставляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ продолТСния использования старых ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Бтрауструп считаСт, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ статичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ рСкомСндациям C++ Core Guidelines, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ бСзопасности C++ ΠΊΠΎΠ΄Π°, трСбуя Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньшС Π·Π°Ρ‚Ρ€Π°Ρ‚, Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π½ΠΎΠ²Ρ‹Π΅ бСзопасныС языки программирования. НапримСр, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ Core Guidelines ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² статичСском Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π΅ ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ бСзопасной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈΠ· состава Microsoft Visual Studio. Π§Π°ΡΡ‚ΡŒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡ‡Ρ‚Π΅Π½Π° Π² статичСском Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π΅ Clang tidy.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ стало Π°ΠΊΡ†Π΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π° АНБ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, оставляя Π±Π΅Π· внимания ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ языков программирования, Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ. Бтрауструп рассматриваСт Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ понятиС, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π³Ρ€Π°Π½ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ достигнуты ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ стиля написания ΠΊΠΎΠ΄Π°, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ статичСских Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ². Для управлСния Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€Π°Π²ΠΈΠ», ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΈ рСсурсами, прСдлагаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Π² ΠΊΠΎΠ΄Π΅ ΠΈ ΠΎΠΏΡ†ΠΈΠΈ компиляторов.

Π’ прилоТСниях, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Π°ΠΆΠ½Π΅Π΅ бСзопасности, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎΠ³ΠΎ примСнСния срСдств, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΌ, Π³Π΄Π΅ это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ бСзопасности Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ частично, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π½Π°Ρ‡Π°Π»Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ постСпСнно Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ для Π±ΠΎΠ»Π΅Π΅ строгих Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ.

( Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС... )

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 

crypt ()

Π’ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° активная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° Servo

Π“Ρ€ΡƒΠΏΠΏΠ° Open Source

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° Servo, написанного Π½Π° языкС Rust, объявили ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ финансирования, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Ρ€ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’ качСствС ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ упоминаСтся Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π²ΠΈΠΆΠΊΠ°, восстановлСниС сообщСства ΠΈ ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… участников. Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 2023 Π³ΠΎΠ΄Π° планируСтся Π·Π°Π½ΡΡ‚ΡŒΡΡ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ систСмы ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ страниц (layout system) ΠΈ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ CSS2.

Бтагнация ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π»Π°ΡΡŒ с 2020 Π³ΠΎΠ΄Π°, послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ компания Mozilla ΡƒΠ²ΠΎΠ»ΠΈΠ»Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ€Π°Π·Π²ΠΈΠ²Π°Π²ΡˆΡƒΡŽ Servo, ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π»Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Linux Foundation, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сообщСство ΠΈΠ· заинтСрСсованных Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ. Π”ΠΎ прСобразования Π² нСзависимый ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΄Π²ΠΈΠΆΠΎΠΊ развивался Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠ°ΠΌΠΈ Mozilla Π² сотрудничСствС с ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Samsung.

Π”Π²ΠΈΠΆΠΎΠΊ написан Π½Π° языкС Rust ΠΈ отличаСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° web-страниц, Π° Ρ‚Π°ΠΊΠΆΠ΅ распараллСливаниСм ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с DOM (Document Object Model). ΠšΡ€ΠΎΠΌΠ΅ эффСктивного распараллСливания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Rust Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ бСзопасного программирования ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ бСзопасности ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Firefox Π½Π΅ ΠΌΠΎΠ³ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π» соврСмСнных многоядСрных систСм ΠΈΠ·-Π·Π° использования ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… схСм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°. Servo позволяСт Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ DOM ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΈ Π±ΠΎΠ»Π΅Π΅ эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСсурсы многоядСрных CPU. Π’ Firefox ΡƒΠΆΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ части Servo, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ CSS-Π΄Π²ΠΈΠΆΠΎΠΊ ΠΈ систСма отрисовки WebRender.

( Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС... )

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 

crypt ()

Π’ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ Chromium Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ использованиС языка Rust

Π“Ρ€ΡƒΠΏΠΏΠ° Chromium совмСстимыС

Компания Google объявила ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ языка программирования Rust Π² число языков, допустимых Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Chromium. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π½Π° Rust, Π½ΠΎ ΠΎΡ‚Π½Ρ‹Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π° интСграция Π² ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ сторонних Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, написанных Π½Π° Rust. Π’ ΡΠ±ΠΎΡ€ΠΎΡ‡Π½ΡƒΡŽ систСму ΡƒΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ инструмСнтарий для компиляции ΠΊΠΎΠ΄Π° Π½Π° языкС Rust, провСдСния тСстов ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π½Π° Rust с ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° C++. ПоявлСниС ΠΊΠΎΠ΄Π° Π½Π° Rust Π² составС выпусков Chrome оТидаСтся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π³ΠΎΠ΄Ρƒ.

( Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС... )

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 ,

crypt ()

Π Π΅Π»ΠΈΠ· ядра Linux 6.1

Π“Ρ€ΡƒΠΏΠΏΠ° Π―Π΄Ρ€ΠΎ Linux

( Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС... )

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования языка Rust Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ языка для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ядра. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ ΠΌΠΎΡ‚ΠΈΠ²ΠΎΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Rust являСтся ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ написания бСзопасных ΠΈ качСствСнных Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² устройств Π·Π° счёт сниТСния вСроятности ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Rust Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ Rust Π² число ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сборочных зависимостСй ΠΊ ядру. Π’ ядро ΠΏΠΎΠΊΠ° принят ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€Π΅Π·Π°Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сокращён с 40 Π΄ΠΎ 13 тысяч строк ΠΊΠΎΠ΄Π° ΠΈ обСспСчиваСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, достаточный для сборки простого модуля ядра, написанного Π½Π° языкС Rust. Π’ дальнСйшСм планируСтся постСпСнно Π½Π°Ρ€Π°Ρ‰ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, пСрСнося ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ измСнСния ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ Rust-for-Linux. ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎ использованию ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ инфраструктуры для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° языкС Rust Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ NVMe, сСтСвого ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° 9p ΠΈ GPU Apple M1.

( Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС... )

>>> ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

 ,

crypt ()