Názor k článku
Linus Torvalds o zařazení podpory jazyka Rust do jádra od Michal Kubeček - Clang pro překlad kernelu aktuálně používá Android, ChromeOS...

  • Článek je starý, nové názory již nelze přidávat.
  • 27. 3. 2021 18:43

    Michal Kubeček

    Clang pro překlad kernelu aktuálně používá Android, ChromeOS a MandrivaLinux. Clang nabízí nějaké benefity navíc, má pokročilejší statickou analýzu než gcc a s clangem je možné použít LTO optimalitaci kernelu. Má to výhody, které nevidíš, stejně jako nevydíš výhody u Rustu.

    To, že jde jádro přeložit pomocí clangu, nijak neomezuje toho, kdo tuto možnost nechce nebo nepotřebuje využívat. K tomu, abych mohl přeložit jádro s běžnou konfigurací, nepotřebuji mít nainstalovaný clang a nepotřebuji nic vědět o jeho specifických featurách. Stejně tak nic z toho nepotřebuji k tomu, abych mohl debugovat a opravovat chyby, posílat patche nebo dělat review. (Jediný problém by byl, pokud by kvůli clangu musel být hůř čitelný nebo méně efektivní kód.)

    Rust, pokud by se opravdu ujal, by byl úplně jiný příběh. Běžná konfigurace by bez rust toolchainu (té správné verze) přeložit nešla, každou chvíli bych se musel nořit do rustového kódu a při troše smůly musel bych ho reviewovat. Nemluvě o tom, jaká lahůdka by bylo dělat úpravy nebo rozšíření interního API (konkrétně třeba ethtool_ops), pokud by část NIC driverů byla v rustu. To je naprosto zásadní rozdíl.

    Tvoje argumenty jsou ve stylu "nechci se učit Rust, takže ho nechci ani v kernelu". Ale takhle to nestojí, Rust se do kernelu dostává, protože má potenciál kernel zlepšit, nabízí oproti C něco navíc.

    Ne. Hrozí se tam dostat, protože neodbytná RiiR klika pochopila, že napsat jádro operačního systému v rustu není taková legrace a že pro ně bude mnohem pohodlnější přilepit se na existující populární projekt, vyzobávat si zajímavé třešničky a "heavy lifting" (a obecně to, s čím si nechtějí špinit ruce) nechat na těch hloupých céčkařích, na které budou dál plivat špínu, zatímco jim přidělají hromadu práce navíc.

    Rust není žádná raketová věda.

    ...zatímco jinde v téže diskusi je to doporučováno jako síto, kterým by se mělo určovat, zda je někdo dost způsobilý být vývojářem.