ΠΠΆΠΎΡ Π’ΡΠΈΠΏΠ»Π΅Ρ (Josh Triplett), ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Intel ΠΈ Π²Ρ
ΠΎΠ΄ΡΡΠΈΠΉ Π² ΠΊΠΎΠΌΠΈΡΠ΅Ρ, ΠΊΡΡΠΈΡΡΡΡΠΈΠΉ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Crates.io, Π² ΡΠ²ΠΎΡΠΌ Π²ΡΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Open Source Technology Summit
Π ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π³ΡΡΠΏΠΏΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Rust ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°ΠΌΠΈ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Intel ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² Rust Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°. ΠΠ· ΡΠΆΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡΡ Π΄Π»Ρ Rust ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ (union), Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΡ Π²ΡΡΠ°Π²ΠΎΠΊ (ΠΌΠ°ΠΊΡΠΎΡ «asm!») ΠΈ ΡΠΎΡΠΌΠ°ΡΠ° ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ BFLOAT16.
ΠΠΆΠΎΡ ΡΡΠΈΡΠ°Π΅Ρ, ΡΡΠΎ Π±ΡΠ΄ΡΡΠ΅Π΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π° Rust, Π° ΡΠ·ΡΠΊ Π‘ΠΈ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠ΅Π°Π»ΠΈΡΡ
ΠΏΡΠ΅ΡΠ΅Π½Π΄ΡΠ΅Ρ Π½Π° ΠΌΠ΅ΡΡΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π² ΠΏΡΠΎΡΠ»ΡΠ΅ Π³ΠΎΠ΄Ρ Π·Π°Π½ΠΈΠΌΠ°Π» ΠΡΡΠ΅ΠΌΠ±Π»Π΅Ρ. Rust
Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΎΡ ΡΠ²ΠΎΠΉΡΡΠ²Π΅Π½Π½ΡΡ
ΡΠ·ΡΠΊΡ Π‘ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΡ
ΠΈΠ·-Π·Π° Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ°ΠΌΡΡΡΡ, Π½ΠΎ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π Ρ
ΠΎΠ΄Π΅
ΠΠΆΠΎΡΠ° Π±ΡΠ»Π° Π²ΡΡΠΊΠ°Π·Π°Π½Π° ΠΈΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π² ΡΠ΄ΡΠΎ Linux Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ Rust, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠΌΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ, ΠΈΠ·Π±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΎΡ ΡΠ°ΠΊΠΈΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΡΠ»Π΅ Π΅Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ, ΡΠ°Π·ΡΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΡΠ»Π΅Π²ΡΡ
ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ Π²ΡΡ
ΠΎΠ΄ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ Π±ΡΡΠ΅ΡΠ°.
ΠΡΠ΅Π³ ΠΡΠΎΠ°-Π₯Π°ΡΡΠΌΠ°Π½ (Greg Kroah-Hartman), ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠΉ Π·Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΡΠ΄ΡΠ° Linux, Π²ΡΡΠ°Π·ΠΈΠ» Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠ΄ΡΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ Rust, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π‘ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΠΎΠ±Π²ΡΠ·ΠΊΠΈ Π½Π°Π΄ API ΡΠ΄ΡΠ°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΡΠ΅Π³ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊ ΠΎΠΏΡΠΈΡ, Π½Π΅ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ Rust Π² ΡΠΈΡΠ»ΠΎ ΡΠ±ΠΎΡΠΎΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΊ ΡΠ΄ΡΡ.
ΠΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ «Fish in a Barrel»
ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ
ΠΠ΅ Π²ΡΡ Π·Π°Π΄ΡΠΌΠ°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠΊΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°, Π½ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΠΆΠ΅ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡΠΈΠ³ΠΎΠ΄Π΅Π½ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π΄Π»Ρ Ethernet-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° LAN9512 USB, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² ΠΏΠ»Π°ΡΠ΅ Raspberry Pi 3. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ°Π»ΠΎΠ½Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ Rust-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π±ΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ smsc95xx, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ. ΠΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ ΠΎΡ runtime-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π½Π° Rust Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ² Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru