Forgot your password?
typodupeerror
Programming Linux

Linus Torvalds on Rust, C, Bugs, and AI Patch-Checking Tools (zdnet.com) 38

"Git and email are the two really only tools I use," Linus Torvalds said at Open Source Summit India 2026. But ZDNet reports that he also shared his thoughts on Rust, C, and patch-checking tools: "I use Google as a way to look things up." He added, "I'm unusual; most of the other maintainers end up using many more tools, and I think a lot of them are starting to use AI tools for patch checking," while he "works at a higher level. I work with people, not tools."

When asked about Rust both in Git and the kernel, he pushed back against hype: "I'm not sure Rust is going to take over the world. I still think Rust is very interesting, [but] I still find C to be a much simpler tool." Torvalds continued, "I'm much more excited about all the tools we have for verification of C," including "automated patch verification tools" and "automated email checking tools for patches like Sashiko." Summing up, Torvalds told the Mumbai audience: "I'm more of a hack-and-slash kind of person, and I still like the raw and simple power of C, and I don't think that's going to change."

Torvalds also warned against overestimating Rust's benefits: "Rust fixes a few easy bugs that you can make in C, but it does not fix the logic errors, right? It does not think for you, and when you write incorrect code, the language does not matter. The end result will be incorrect." On mixed C/Rust code bases, he pointed out that guarantees are limited: "The guarantees that Rust give you only apply in the Rust-only parts of your code base, and wherever you interact with C code, all bets are off," with most Rust code in Linux talking to "core kernel C code" that is "much better quality... because that code has been tested in every single environment."

At the same time, Torvalds pointed out, "some of our big and more high-profile bugs in the kernel lately have been logic errors" rather than the kind of memory errors Rust prevents.

"It was just bad programming, which sadly happens even in carefully maintained subsystems and important kernels that are supposed to be very secure."

Linus Torvalds on Rust, C, Bugs, and AI Patch-Checking Tools

Comments Filter:
  • Linus has completed his career migration to full time manager.

    • Well now, according to the programming career matrix [smart-words.org], he has now made it to middle manager. We look forward to his approach to CEO.

      As an aside, I now see where my career went wrong. I never made it to "Seasoned Professional." I need to make my code harder to read.
      • Well now, according to the programming career matrix [smart-words.org], he has now made it to middle manager. We look forward to his approach to CEO. As an aside, I now see where my career went wrong. I never made it to "Seasoned Professional." I need to make my code harder to read.

        The "Seasoned Professional" code isn't hard to read. It's long because it includes a (very minimal) custom string class. That's something no one should do today (or any time in the last 20 years or so), but it was commonly necessary when writing C++ in the 90s. The STL came out in the mid 90s but wasn't available in many environments for most of a decade afterwards. Of course it would be dumb to write a string class just to write a Hello World program, but if your program used more than a few strings i

        • That's something no one should do today (or any time in the last 20 years or so), but it was commonly necessary when writing C++ in the 90s.

          Oh yes, but any experienced professional will have developed (consciously or subconsciously) methods for maxxing out whatever metric is being used to evaluate them. Lines of code, whatever. If you are evaluated on LoC I recommend double-spacing.

          The difference between the "hacker" (MIT definition [catb.org]) and the professional is revealing. Each is trying to write code that maximizes the perceived requirement. The hacker making the code elegant (in this case, brief), and the professional maximizing LoC.

          • That's something no one should do today (or any time in the last 20 years or so), but it was commonly necessary when writing C++ in the 90s.

            Oh yes, but any experienced professional will have developed (consciously or subconsciously) methods for maxxing out whatever metric is being used to evaluate them. Lines of code, whatever. If you are evaluated on LoC I recommend double-spacing.

            I suppose, though I've never worked in any company that evaluated on LoC. I hear they exist, but I've never seen it... and I've probably worked for two dozen different companies, in a wide variety of industries (I was a contractor for a good chunk of my career).

            • I think it ended in the 90s as a method for evaluation. The best way is to look at the work your programmers have done, but not all managers can do that. A lot of Agile managers use velocity as a proxy to make up for the fact they can't look at code and understand it. So get a lot of story points.
              • A lot of Agile managers use velocity as a proxy to make up for the fact they can't look at code and understand it. So get a lot of story points.

                That is a silly interpretation.

                a) stories are estimated independently
                b) so the stories "Invite to be my friend", and "invite to my group" - have the same amount of (complexity) points, same for the complementing stories like "Request to join your group" and "sent friend request"

                Obviously when any of those four stories is implemented, aka the DB is done, the service

          • by haruchai ( 17472 )

            "the professional maximizing LoC"
            if anything that would have been based on how much error-free code a pro could produce.

        • The BASIC -> Pascal -> LISP -> C -> C++ progression is very much what most programmers who grew up in the 70s and went to college in the 80s went through, which dates the joke. It was exactly my experience, except that my university didn't do LISP.

          You almost got it right. The progression was Fortran -> Pascal -> LISP -> C -> C++ -> JAVA. At least in college introductory programming.

          • The BASIC -> Pascal -> LISP -> C -> C++ progression is very much what most programmers who grew up in the 70s and went to college in the 80s went through, which dates the joke. It was exactly my experience, except that my university didn't do LISP.

            You almost got it right. The progression was Fortran -> Pascal -> LISP -> C -> C++ -> JAVA. At least in college introductory programming.

            The progression in the link isn't what was taught in universities, it was what a programmer learned growing up, and I don't know anyone who learned FORTRAN in elementary and Junior High. BASIC was where it was at (my first code was BASIC to run on a local bank's mainframe -- they were letting my fifth grade "Talented and Gifted" class run stuff -- and then later on a friend's TRS-80; that was all in the late 70s). Then Pascal in high school or college, and so on. Java came later; I'm not sure what the ki

    • by PPH ( 736903 )

      full time manager.

      And one of the most dangerous types of managers: One who knows the technology that he is overseeing.

  • But... (Score:4, Funny)

    by Junta ( 36770 ) on Monday July 13, 2026 @09:10AM (#66235896)

    I work with people, not tools.

    But what about when the people *are* tools?

  • What if...

    Someone (say someone who was familiar with doxygen and GCC) developed number of comment types, where some stipulated preconditions that must be true for the function to run correctly, postconditions that must be true once the function has run, kernel facilities that the function definitely needs, and kernel facilities that the function definitely doesn't need. These would all be optional for any given function.

    A static checker could then validate if the code meets the behaviour expected by the pro

  • Would not Carbon be a 'better C' to mix it in kernel's ocean of 'C'? Granted - no ready for prime but in concept?

  • It quicker and easier to write "correct" code in Rust than it is in C, most of the time. And since Rust completely eliminates a class of bug that C can make, it's theoretically easier to focus on "correctly" writing the rest of the code. In my opinion, unpopular though it may be, C is well past it's prime and should migrated away from. If Rust truly isn't good at a specific task, hand it off to a different language, but ideally not C.

He keeps differentiating, flying off on a tangent.

Working...