Programovanie

Prečo je jazyk Rust na vzostupe

Pravdepodobne ste nikdy nepísali nič v Ruste, otvorenom programovacom jazyku na systémovej úrovni, ktorý vytvoril Mozilla, ale pravdepodobne to niekedy urobíte. Vývojári korunovali Rusta za svoj „najobľúbenejší“ jazyk v rámci prieskumu vývojárov spoločnosti Stack Overflow z roku 2019, zatiaľ čo v polročnom hodnotení jazykov Redmonk sa Rust dostal na špicu medzi najlepších 20 (hodnotenie # 21).

To aj napriek tomu, že používatelia systému Rust „nachádzajú [ťažkosti] a frustráciu z vysoko ponúkaných funkcií jazyka pre bezpečnosť a správnosť pamäte.“

Prečo je známe, že je tak ťažké sa naučiť jazyk, ktorý je tak obľúbený? V rozhovoroch s vývojármi sa zdá, že odpoveďou je, že Rust je „programovanie systémov s ochrannými lištami“, ako to popisuje Oso CTO Sam Scott, pričom jedným z týchto „ochranných zábradlí“ je mimoriadne príjemná komunita.

Programovanie systémov s ochrannými lištami

Väčšina vývojárov bežne necestuje na územie programovania systémov. Napríklad vývojári aplikácií zvyčajne nemajú potrebu približovať sa základnému hardvéru. Pravdepodobne tiež nemusia budovať platformy, na ktorých bude bežať ďalší softvér, čo je základný definičný prvok programovania systémov.

Pre tých vývojárov, ktorí pracujú s programovacími jazykmi nižšej úrovne, ako sú C alebo C ++, je Rust zjavením, čím som sa prvýkrát zaoberal v roku 2015. Avšak o pár rokov rýchlo vpred a Rust sa stále zlepšuje.

Vývojár David Barsky, ktorý je požiadaný o podrobnosť hlavných predajných miest spoločnosti Rust, ponúka nasledovné:

  • Účinkujúci. Rust je schopný nahradiť C / C ++ v priestoroch, v ktorých sa zvyčajne darilo. Napríklad: „V prípade sieťových služieb citlivých na latenciu vedie nedostatok Rustovho zberu odpadu za behu k takmer nulovým latenciám chvosta.“
  • Spoľahlivý. „Jeho typový systém a kontrola výpožičiek - statický zberač odpadkov v čase kompilácie - zabraňuje celým triedam chýb, ktoré sú v Pythone, Jave a C ++ akceptované ako„ normálne “.“
  • Produktivita vývojárov. „Cargo, nástroj na vytváranie a správu balíkov, je jedným z najlepších systémov na vytváranie a správu balíkov, aké som použil.“ Rust tiež prichádza s vynikajúcou vstavanou dokumentáciou a skvelým vstavaným agregátom, integráciou a testovaním dokumentácie.

Skúsenosti Barskeho sa zdajú podobné ako skúsenosti Scotta. Pochádzajúc z programovacích jazykov vyššej úrovne (Java, Ruby on Rails), Scott tvrdí, že jeho skúsenosti s C boli menej ako príjemné: „C bolo hrozné, pretože mi neustále dochádzali problémy s pamäťou, segfaults atď. A viac-menej som mal som pocit, že som celý čas bojoval s kódom. “

Rust bol naopak „programovanie systémov s ochrannými lištami“. Scott vysvetľuje:

Potom som vyskúšal Rust (práve sa zmenil na 1,0) a prišlo mi to ako programovanie systémov s ochrannými lištami. Všetko, čo som potreboval na programovanie nízkoúrovňových systémov, ale s veľkou pomocou pri ladení a zaistení bezpečnosti kódu - napríklad kontrola výpožičiek a kompilátor, neskôr nástroje ako linters („clippy“). Ponúkalo veľa známych aspektov funkčného a objektovo orientovaného programovania a zdalo sa, že zapadá do môjho mentálneho modelu toho, ako chcem budovať systémy.

Ako spoluzakladateľ spoločnosti Oso sa Scott nemohol vyhnúť programovaniu na nižšej úrovni. Oso, s poslaním urobiť zabezpečenie back-endovej infraštruktúry neviditeľným pre vývojárov a jednoduchým pre operátorov, “vyžaduje výkon, ktorý ponúka jazyk na systémovej úrovni. „Nemôžeme používať jazyk, ktorý zhromažďuje odpadky, ako je Go, pretože výkon by nebol dostatočne konzistentný s tým, čo robíme, pretože sedíme na kritickej ceste zákazníckej premávky,“ uviedol Scott.

Všetko to znie skvele, až kým sa nevrátime k možnému problému získavania talentovaných vývojárov dobre ovládaných v relatívne novom jazyku. Prístupný talent však môže byť Rustovou najlepšou vlastnosťou zo všetkých.

Programátori hrdze chceli

Kritickou súčasťou učenia sa niečoho nového je, aby boli ľudia ochotní pomôcť pri prechode. Tu svieti hrdza. Ako hovorí Barsky,

Komunita Rust je plná vášnivých, láskavých a inteligentných ľudí. Má prísne dodržiavaný kódex správania, čo znamená, že hrubé alebo obťažujúce správanie nie je tolerované. Anekdoticky má jedny z najvyšších koncentrácií ľudí LGBTQA, aké som videl v akejkoľvek technologickej komunite.

Táto komunita je veľkým dôvodom, že podľa Scotta môžu vývojári Rust vyzdvihnúť za pár mesiacov. Rust „si vyžaduje trochu zmeny myslenia,“ hovorí. "Musíte sa viac zaoberať úvahami o veciach, ako sú typy a životnosti." Ale akonáhle sa tam dostanete, „vypláca sa vám dividendy.“

Niet teda divu, že toľko vývojárov Rust miluje. Výhoda je veľká a nevýhoda minimalizovaná Rustovou ústretovou a inkluzívnou komunitou.

$config[zx-auto] not found$config[zx-overlay] not found