Hlavní navigace

Názor ke zprávičce Linus Torvalds o zařazení podpory jazyka Rust do jádra od Michal Kubeček - Linux kernel je už teď možné přeložit clangem,...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 26. 3. 2021 10:19

    Michal Kubeček

    Linux kernel je už teď možné přeložit clangem, což je LLVM + C frontend.

    Je to možné... ale jen možné, není to nutnost.

    Jiný frontend nad existujícím toolchainem není velká technologická změna.

    Je to velká změna z praktického hlediska. Jádro typicky není problém přeložit 5-6 let starým gcc a naopak, i velmi stará jádra lze typicky přeložit dnešním gcc jen s trochou práce. U rustu to funguje úplně jinak. To je snad to jediné pozitivní, co by tohle dobrodružství mohlo teoreticky přinést: že by to ten bohémský přístup vývoje rustu mohlo trochu zkultivovat. Bojím se ale, aby to nedopadlo obráceně.

    A že bude k vývoji kernelu potřeba i nějaká znalost Rustu? To je přece na vývojářích, pokud budou Rust bojkotovat, tak se neprosadí.

    "Vývojáři kernelu" nejsou nějaká uzavřená skupina. Kdokoli se může sebrat a poslat patch nebo sérii. Takže si představme, že někdo pošle rustový modul třeba do netfilteru a Pablo nebude umět rust. Bude ho moci odmítnout čistě na základě toho, že rust neumí a v nechce se ho učit? Nespustí rustaři povyk, že je to diskriminace? Nebo se bude muset každý maintainer povinně rust naučit na takové úrovni, aby mohl zodpovědně dělat review? (Pro srovnání: třeba takový maintainer memory managementu se dodnes nenaučil ani git.) A co vývojáři, součástí jejichž práce je řešení chyb nahlášených zákazníky - chyb, které mohou být přímo v rustovém kódu nebo bude jeho důkladné pochopení k vyřešení potřeba?

    Prostě se celou dobu snažím vysvětlit, že představa, že rust kód bude něco izolovaného, čeho si nebude potřeba všímat, kterou se rust fans snaží navodit, je naprosto nerealistická. Jen nevím, jestli je to jejich neznalostí, jak vývoj jádra a práce na něm fungují, nebo jestli je to záměrné matení.