Β«Rust β€” Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ систСмного программирования, Π‘ β€” Π½ΠΎΠ²Ρ‹ΠΉ АссСмблСр» β€” выступлСниС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² Intel

На Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅ΠΌ Π‘Π°ΠΌΠΌΠΈΡ‚Π΅ ΠΏΠΎ тСхнологиям с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ (Open Source Technology Summi — OSTS) Π”ΠΆΠΎΡˆ Π’Ρ€ΠΈΠΏΠ»Π΅Ρ‚Ρ‚ (Josh Triplett), Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ Intel, рассказал ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ компания заинтСрСсована Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² блиТайшСм Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Rust достиг «ΠΏΠ°Ρ€ΠΈΡ‚Π΅Ρ‚Π°» со всё Π΅Ρ‰Ρ‘ Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ Π² области систСмной ΠΈ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ языком C. Π’ своём выступлСнии ΠΏΠΎΠ΄ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ «Intel ΠΈ Rust: Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ систСмного программирования» ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ рассказал ΠΎΠ± истории систСмного программирования, ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ C стал языком систСмного программирования «ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ», ΠΊΠ°ΠΊΠΈΠ΅ возмоТности Rust Π΄Π°ΡŽΡ‚ Π΅ΠΌΡƒ прСимущСство Π½Π°Π΄ C ΠΈ ΠΊΠ°ΠΊ Π² блиТайшСм Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΎΠ½ смоТСт ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ C Π² Π΄Π°Π½Π½ΠΎΠΉ области программирования.

«Rust — Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ систСмного программирования, Π‘ — Π½ΠΎΠ²Ρ‹ΠΉ АссСмблСр» — выступлСниС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² Intel

БистСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ — это Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ слуТит ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ для создания ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, обСспСчивая взаимодСйствиС послСдних с процСссором, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, устройствами Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ сСтСвым ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. БистСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС создаёт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ Π² Π²ΠΈΠ΄Π΅ интСрфСйсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ΅ ПО, Π½Π΅ вникая Π² Π΄Π΅Ρ‚Π°Π»ΠΈ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСпосрСдствСнно «ΠΆΠ΅Π»Π΅Π·ΠΎ».

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

Π’ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ систСмных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π² Ρ‚ΠΎΠΌ числС BIOS, Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ, писались Π½Π° языкС ассСмблСра. Π’ 1960-Ρ… Π³ΠΎΠ΄Π°Ρ… Π½Π°Ρ‡Π°Π»ΠΈΡΡŒ экспСримСнты ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ языков высокого уровня, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ созданию Ρ‚Π°ΠΊΠΈΡ… языков, ΠΊΠ°ΠΊ PL/S, BLISS, BCPL ΠΈ ALGOL 68.

Π—Π°Ρ‚Π΅ΠΌ, Π² 1970-Ρ… Π³ΠΎΠ΄Π°Ρ…, ДСннис Π ΠΈΡ‚Ρ‡ΠΈ (Dennis Ritchie) создал язык программирования C (Π‘ΠΈ) для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Unix. Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° языкС программирования B, Π½Π΅ имСвшим Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ, C Π±Ρ‹Π» Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ ΠΌΠΎΡ‰Π½Ρ‹ΠΌΠΈ высокоуровнСвыми функциями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΠ»ΠΈ для написания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ². НСсколько ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² UNIX, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΅Π³ΠΎ ядро, Π±Ρ‹Π»ΠΈ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ пСрСписаны Π½Π° C. Π’ дальнСйшСм ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ систСмныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Oracle, Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ исходного ΠΊΠΎΠ΄Π° Windows ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму Linux, Π±Ρ‹Π»ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ написаны Π½Π° C.

C ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π² Π΄Π°Π½Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ. Но Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ заставило Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π½Π΅Π³ΠΎ? Π’Ρ€ΠΈΠΏΠ»Π΅Ρ‚Ρ‚ считаСт, Ρ‡Ρ‚ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΌΠΎΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ с ΠΎΠ΄Π½ΠΎΠ³ΠΎ языка программирования Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ, послСдний ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ старых возмоТностСй.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, язык Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ΡŒ «Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΠΎ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»ΡΡŽΡ‰ΠΈΠ΅» Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. «ΠžΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅. Он Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π°Π²Π΄Π°Ρ‚ΡŒ усилия ΠΈ врСмя ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°», — ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ ΠΎΠ½. По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с языком ассСмблСра Ρƒ Π‘ Π±Ρ‹Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ ΠΌΠΎΠ³ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ. Он ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π» Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стСпСни Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ, обСспСчивал Π»ΡƒΡ‡ΡˆΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ с высокоуровнСвыми конструкциями, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π» Π² Ρ†Π΅Π»ΠΎΠΌ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, язык Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ старых возмоТностСй, Π° это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π² истории с ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ Π½Π° C Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½, Ρ‡Π΅ΠΌ язык ассСмблСра. Π’Ρ€ΠΈΠΏΠ»Π΅Ρ‚Ρ‚ поясняСт: «ΠΠΎΠ²Ρ‹ΠΉ язык Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ просто Π»ΡƒΡ‡ΡˆΠ΅, ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ…ΡƒΠΆΠ΅». Помимо Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ C Π±Ρ‹Π» быстрСС ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π» Π»ΡŽΠ±Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ язык ассСмблСра, ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π» Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π’Ρ€ΠΈΠΏΠ»Π΅Ρ‚Ρ‚ Π½Π°Π·Π²Π°Π» «Π°Π²Π°Ρ€ΠΈΠΉΠ½Ρ‹ΠΌ люком», Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π» Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя вставки ΠΊΠΎΠ΄Π° Π½Π° языкС ассСмблСра.

«Rust — Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ систСмного программирования, Π‘ — Π½ΠΎΠ²Ρ‹ΠΉ АссСмблСр» — выступлСниС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² Intel

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

«Π›ΡŽΠ±ΠΎΠΉ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ‡Π΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ C, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС, Ρ‡Π΅ΠΌ просто Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ пСрСполнСния Π±ΡƒΡ„Π΅Ρ€Π°, Ссли ΠΎΠ½ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ заинтСрСсованы Π² удобствС использования ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π² написании ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ пояснСний ΠΈ выполняСт большС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π·Π° мСньшСС количСство строк. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ бСзопасности. ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° использования ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½ΠΎ с нСю связаны. Π§Π΅ΠΌ мСньшС ΠΊΠΎΠ΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ для достиТСния Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ, Ρ‚Π΅ΠΌ мСньшС Ρƒ вас возмоТностСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ошибки, связанныС с Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ Π½Π΅Ρ‚», — ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ Π’Ρ€ΠΈΠΏΠ»Π΅Ρ‚Ρ‚.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Rust ΠΈ C

Π•Ρ‰Ρ‘ Π² 2006 Π³ΠΎΠ΄Ρƒ Π“Ρ€Π΅ΠΉΠ΄ΠΎΠ½ Π₯ΠΎΠ°Ρ€ (Graydon Hoare), сотрудник Mozilla, Π½Π°Ρ‡Π°Π» ΠΏΠΈΡΠ°Ρ‚ΡŒ Rust ΠΊΠ°ΠΊ Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. А Π² 2009 Π³ΠΎΠ΄Ρƒ Mozilla Π½Π°Ρ‡Π°Π»Π° ΡΠΏΠΎΠ½ΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Rust для собствСнных Π½ΡƒΠΆΠ΄, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ»Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для дальнСйшСго развития языка.

Одна ΠΈΠ· ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Mozilla Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π»Π°ΡΡŒ Π² Π½ΠΎΠ²ΠΎΠΌ языкС, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Firefox Π±Ρ‹Π» написан Π½Π° Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 4 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°Ρ… строк ΠΊΠΎΠ΄Π° C++ ΠΈ ΠΈΠΌΠ΅Π» довольно ΠΌΠ½ΠΎΠ³ΠΎ критичСских уязвимостСй. Rust Π±Ρ‹Π» создан с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ бСзопасности ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для пСрСписывания ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Firefox Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Quantum ΠΏΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π’Π°ΠΊΠΆΠ΅ Mozilla ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Rust для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Servo, Π΄Π²ΠΈΠΆΠΊΠ° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° HTML, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Firefox. МногиС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π½Π°Ρ‡Π°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Rust для своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Microsoft, Google, Facebook, Amazon, Dropbox, Fastly, Chef, Baidu ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

Rust Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ языка C. Он ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ автоматичСскоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, поэтому Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Ρ‚ΡŒ Π΅Ρ‘ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π§Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ Rust ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… соврСмСнных языков, Ρ‚Π°ΠΊ это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ сборщика мусора, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски удаляСт ΠΈΠ· памяти Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ срСды выполнСния, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java Runtime Environment для Java. ВмСсто этого Ρƒ Rust Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ владСния, заимствования, ссылок ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ. «Π’ Rust Π΅ΡΡ‚ΡŒ систСма дСкларирования Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π»ΠΈ Π΅Π³ΠΎ Π²Π»Π°Π΄Π΅Π»Π΅Ρ† ΠΈΠ»ΠΈ это просто заимствованиС. Если Π²Ρ‹ просто заимствуСтС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, компилятор Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° этим ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» останСтся Π½Π° мСстС, ΠΏΠΎΠΊΠ° Π²Ρ‹ ΡΡΡ‹Π»Π°Π΅Ρ‚Π΅ΡΡŒ Π½Π° Π½Π΅Π³ΠΎ. А Ρ‚Π°ΠΊΠΆΠ΅ Rust прослСдит, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Ρ‘Π½ ΠΈΠ· памяти сразу ΠΏΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Π΅Π³ΠΎ использования, вставляя ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π·ΠΎΠ² Π² ΠΊΠΎΠ΄ Π²ΠΎ врСмя компиляции Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Ρ‚Ρ€Π°Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ», — рассказываСт Π’Ρ€ΠΈΠΏΠ»Π΅Ρ‚Ρ‚.

ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ собствСнной срСды выполнСния Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π΅Ρ€Ρ‚ΠΎΠΉ Rust. Π’Ρ€ΠΈΠΏΠ»Π΅Ρ‚Ρ‚ считаСт, Ρ‡Ρ‚ΠΎ языки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ с Π΅Ρ‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ, слоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС инструмСнта для систСмного программирования. Как ΠΎΠ½ поясняСт: «Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту срСду выполнСния, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ смоТСтС Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ любой ΠΊΠΎΠ΄, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту срСду выполнСния для Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈ сама срСда выполнСния ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π·Π° вашСй спиной Π² Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ».

Π’Π°ΠΊΠΆΠ΅ Rust стрСмится ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ бСзопасноС ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π’Π΅ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ Π΅Π³ΠΎ бСзопасным для памяти, ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΎΠΌΡƒ ΠΏΠΎΡ‚ΠΎΠΊΡƒ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ, Π° ΠΊΠ°ΠΊΠΈΠ΅ Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅.

ВсС эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ Rust достаточно ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ смогли Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π½ΠΎΠ²Ρ‹ΠΉ инструмСнт для систСмного программирования. Однако, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний Rust ΠΏΠΎΠΊΠ° Π΅Ρ‰Ρ‘ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ отстаёт ΠΎΡ‚ C.

Π’Ρ€ΠΈΠΏΠ»Π΅Ρ‚Ρ‚ собираСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ, которая займётся Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ΠΌ Π² Rust Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ смог ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΡ€Π°Π²Π½ΡΡ‚ΡŒΡΡ, ΠΏΡ€Π΅Π²Π·ΠΎΠΉΡ‚ΠΈ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ C Π² области систСмного программирования. Π’ Ρ‚Π΅ΠΌΠ΅ Π½Π° Reddit, посвящённой Π΅Π³ΠΎ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ»Π΅Π½ΠΈΡŽ, ΠΎΠ½ сообщил, Ρ‡Ρ‚ΠΎ «Π³Ρ€ΡƒΠΏΠΏΠ° FFI/ C Parity находится Π² процСссС создания ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ», ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π³ΠΎΡ‚ΠΎΠ² ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° Π»ΡŽΠ±Ρ‹Π΅ вопросы, Π° Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚ блиТайшиС ΠΏΠ»Π°Π½Ρ‹ ΠΏΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ Rust Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π΅Π³ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Ρ‹ для всСх заинтСрСсованных Π»ΠΈΡ†.

МоТно ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π³Ρ€ΡƒΠΏΠΏΠ° FFI/ C Parity займётся ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ многопоточности Π² Rust, Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ BFLOAT16, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° прСдставлСния чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ появился Π² Π½ΠΎΠ²Ρ‹Ρ… процСссорах Intel Xeon Scalable, Π° Ρ‚Π°ΠΊΠΆΠ΅ стабилизациСй вставок ΠΊΠΎΠ΄Π° Π½Π° АссСмблСрС.



Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: 3dnews.ru