No announcement yet.

GCC Rust Approved By Steering Committee, Likely To Land For GCC 13

  • Filter
  • Time
  • Show
Clear All
new posts

  • #81
    Originally posted by Sin2x View Post

    ... you have missed the point of the article: Rust is a badly designed jack-of-all trades language that has only one thing going for it -- and this thing, safety, is irrelevant to kernel programming. ...
    Hi, slightly off topic, but I will point out that this is a very reductive view of the language and its features:

    A lot of people (including Drew DeVault apparently) are overlooking aspects of the languages that are not directly related to safety.
    For instance the convenience and strength of the type system: with the right tools, a well designed API can provide security, but also documentation and some degree of testing done directly by the compiler (c.f. thread safety provided by the standard library).
    But also stuff like traits which allows for an OO approach in a much more concrete, pure and simple to understand way as C++.
    Even actual innovating stuff like the hygienic macro system and other aspects of meta programming, (which in themselves may significantly simplify a lot of C projects pipelines).
    And the thing which I find most emblematic of Rust: the algebraic types. (yes I know about Ocaml)

    All in all, it is true there is a lot of features packed with rust -especially through the rustc front end- but luckily you can ignore a great portion of them without too much pain (except things like the borrow checker, of course) which in itself is a plus: you will be able to write a lot of code without having to eat a lot of doc.
    But it is also an inconvenience because people that do not take try to advantage of these features will not understand the parts of the language that attracts so many people.

    About kernel and system programming, it is true that these features have never been truly used, but it is mainly because they really never were available as such a low level in the first place, but now that it is; maybe there is room for a lot of QoL improvements and code simplification (which would be greatly welcome, especially on projects like the Linux kernel).

    It is truly hard to assess where all of this will go.. there is indeed a lot of noise both because of a few but loud part of the rust community that may be seen as zealots, also because of the friction with other communities competing for the support of their language ecosystem, but mainly because of the skepticism around new technologies in general that inevitably applies to Rust.

    For now, it is simply impossible to see any core parts of the kernel being updated to rust, the tool chain and the devs are not adapted, but in the far future it is still a possibility...
    my guess is that rust will become a tool for interfacing with other code bases like kernel modules and for writing security or performance focused parts.