• I feel about ai like i feel about cars. 90% of the idiots out there drive really poorly, but that doesn’t mean responsible people are smart to never drive a car. Same with AI, overwhelming majority of people are using AI incorrectly, i.e. recklessly dangerously, but that doesn’t mean responsible people should never use it.

    • Pretty good analogy because health damage from cars don’t just come from accidents, which are terrible and tragically visible, but from pollution which is a lot less visible yet kills even more.

  • Id like to see Linus explain to me how a LLM works.

    Hey is clearly ARROGANT and STUPID.

    “Don’t use a compiler then.”

    Does he not realize a LLM is not a deterministic system for “English to code”. I’ve long be suspicious of his “genius” and this confirms it for me.

    A giant gaping asshole riding off the work of the original unix philosophy and system, while spewing putrescence.

  • I think he’s kinda right in that competent engineers can write good code using LLMs. I don’t know whether they’re actually more productive that way though. The problem lies in the fact that incompetent engineers can write a lot of bad, but good-looking code using LLMs, which might be a pretty big burden on the maintainers.

    Also, comparing LLMs to compilers doesn’t really work in my opinion. Compilers follow strict rules and translate one kind of logic into a different kind of logic, while LLMs turn natural language and vague notions into some kind of logic. Writing code is telling the computer precisely what it should do and prompting is vaguely telling it what end result you want and those are two fundamentally different things.

    • But your analogy also breaks down because once an AI has written the code it’s very much concrete, right? The AI may choose to modify that concreteness into something differently concrete, but it’s not like you are in any doubt about what the AI comes out with (if you bother to check it, which you should).

      I use to written asset systems during the AAA gaming part of my career and the elusive “[my] perfect file format” always eluded me.

      Over the years I spent many a showers and long drives thinking about what the “perfect file format” needs and what kind of architecture would support this. I started formulating these into long text files and over time things crystallised into “yes this would work”.

      I never had the time to write the code fully. A couple of false starts, coupled with “I should do this in rust even though I’ve been in C++ my whole life” meant it lingered and lingered.

      The architecture felt right though.

      Enter AI; feeding the spec text files to an AI made me resolve a couple of “ah, yes, but in practice this bit of information isn’t available yet” gotchas but the code worked. I worked in architectural layers, carefully checking input and output of each before proceeding to higher layers.

      It worked and it was real affirmation to see 20 years of pontification made real.

      But then I started profiling it. And hot damn, an LLM knows nothing about cache nor does it think about ways memory allocators and virtual memory systems work.

      There was 200-300% speed ups to gain from hand tuning it and iterating with a proper profiler.

      And all of this happened at code level, with real concrete code.

      So yeah, an AI can be a wonderful tool. And the code it produces and iterates on is concrete. It’s not like the AI starts from scratch every time you have a thought. So the very, very first pass I is not deterministic. But the thing you deliver forwards very much is.

  • The amount of bootlicking Linus has been doing recently is insane. I expected this bs from anyone but him. Such a sad reality we are living in.

    • A JIT compiler generates code depending on the hot path driven by user actions - which are non-deterministic. The same happens when a compiler is deterministic but in a different way than developers think. Developers think they know what code is generated, but they don’t. A compiler translates a double loop or a stream into just one SIMD instruction - they think they know what code the compiler generates, but they don’t - so their trust in the compiler is for the wrong reasons. And even if compilers would be fully deterministic, and people would know the code they generate, compilers are so complex that determinism is not useful for verification - just because ‘someone’ looks at compiler output does not mean it’s correct.

      https://www.tabulamag.com/p/non-determinism-is-not-the-problem

      • Oh my god. No.

        That’s not what this argument is about. The JIT is non-deterministic based on the hot path yes. But the way that code gets turned into code IS.

        The compilation of instructions is deterministic. The control flow and WHEN it gets compiled may not be, and it may smartly choose not to compile certain things based on that hot path but that’s not the same.

        A compiler and interpreter is a SYSTEM. a LLM is not.

      • The “problem” is that any standard compliant code uniquely defines the output for any given input. A bug-free compiler translates that execution path into the exact same behaviour, just in a different formulation.

        An LLM translates a more or less vague natural language description of an execution path into a precise one formulated in code.

        The difference is pretty fundamental: In one case you give an exact description of the inputs and outputs, and let a compiler translate that to a different but logically equivalent description. In the other you give a non-exact description and let a stochastic machine translate that into one of many possible exact descriptions.

        That doesn’t mean it’s impossible to produce good code with an LLM. It means you need to inspect the output from the LLM with far more scrutiny than you would ever inspect the assembly output from a compiler.

  • Weird, i disagree with Linus.

    AI is not a tool. Its an addiction. Maybe the first dozen times (more likely: never) you use it “as a tool”. Very quickly, you depend on it. You need it to refactor. Then you need it to debug. Then you need it to write. Next thing you know, you spend 0 time writing code (the fun part) and 100% of your time as a reviewer (the worst part). Suddenly it isnt fun. A few fools even get TWO AI MODELS, one to write, the other to debug.

    Its a virus. I cannot tell you how many 300+ line commits ive rejected because they straight up dont do what the person said they do or also do some extremely asinine 2nd thing that breaks other pieces of code (which they would know if theyd actually used it).

    A tool requires input. A hammer can never do anything i dont explicitly tell it to do. A good word editor does exactly what i want it to do. A good compiler does exactly what it says it will do. AI does not. Ai is a glorified autocomplete, and i dont want my code to be automatically generated. Its asking for thousands of issues down the line. If AI was any good, Windows would be a usable platform by now.

    Dont get me wrong; i know that it is sometimes used as a tool by people, and meticulously checked over, but more often than not, it isnt.

    • I have it create things for me that I would otherwise never have. I wanted an app for dream tracking. They were either pay walled, didn’t have the features I wanted, or both. Ai created what I wanted in a weekend. That’s just one example. I’ve created many single use apps as well.

      If I’m at a takeaway store I take a photo of the board and it makes me an interactive menu that totals the price of what everyone wants and let’s us browse without trying to see the board and get in people’s way.

      I don’t expect anyone else to use these. I don’t expect anyone else to want to use them. Though they’re welcome to. But if I can have a thing create exactly what I want and use it why not?

      “but what if it has a bug and you lose a year of journals”. Well it created me manual timestamped backups as well as automatic timestamped backups to oauth Dropbox in a dedicated folder without the app having access to the rest of my Dropbox. It could crash everything and I would have every single thing safe in 2 places up to the most recent entry. And they’re just text files. I could take them anywhere if AI disappeared and the app broke tomorrow. I could just continue writing in notepad in the worst case until I found something else. But the app looks nicer and does interesting things.

      The alternative to this isn’t me learning to code and spending months creating them. The alternative is them never existing.

      • A calculator that produces incorrect output from some input is broken. An LLM that produces broken code from a precise description is working as advertised.

    • 4 hours

      I think AI is a tool but very advanced tool. AI is great tool but very unpredictable in many cases. I think it should be used because it makes coding more effective but as you say it kill every fun in coding. As Linus said tool is not important if code is great. If you used AI and its good then why not. Sometimes you can write worse code then AI. But on other side yes it can be hard for repository owners when they must reject tons of shit code created with AI. So it have advantages and disadvantages and when do you want some fun (or maybe some security stuff) don’t use it.

  • hes comparing knowing how open concepts work vs using proprietary tech whose purpose is to hook you and then enshittify after you become reliant on it

    • but local models exist, they are a direct threat to anthropic/OpenAi/Xai thats why we must invest our time to make proprietary models irrelevant.

      • Local models are still controlled by a small group of people, in the sense of deciding how and with what to train the thing. And given the cost of doing so, you can’t just easily fork it and make adjustments yourself.

  • distant nuance bros’ war drumming intensifying

  • I agree with Linus, because AI is just another Tool that won’t go away. The Problem is not AI itself the problems are

    • the big techs building out AI with no respect to security, people and environment.
    • people using AI without understanding the consequences of using it.
  • The problem with the tools , it’s not gonna help amateur or rookies to develop the skill without the tools, it seems make the illusion that it is capable to do so but it’s not.

    While for the veteran or those who know what they doing, of course it will produce various result , from diminish their entire person or jist become another tool they wield for their work, depending on skill issue.

  • I promise I won’t submit anything to the Linux kernel that was generated by a compiler. AFAIK they want the code, not blobs.

    • I promise I won’t submit anything to the Linux kernel that was generated by a compiler, AI, or my own achy hands.

  • I wouldn’t ve surprised if this was generated by Claude.

    Why yes, let us compare corporate, proprietary, closed-source tools that inherently rely on environmental destruction, breaking licenses, and intellectual property theft in general, to basic, completely free and open source programming tools that have been in use for 50 years, and harmed nobody during their development.

    Of course this guy does all his work on a MacBook. Because of course he does.

    I’ve usually been with him, because he’s very knowledgeable, and quite often his takes only seem ridiculous out of context.

    But this is borderline corporate propaganda. If it continues, I’m afraid we’ll all be moving to BSD.

    • corporate propaganda

      You’re spreading RIAA’s corporate propaganda right now:

      intellectual property theft

      Copying is not theft

      “Intellectual property” only benefits the bourgeoise

  • 13 hours

    I’m kind of gobsmacked by this. I’ve heard younger developers compare LLM with compiler and chalked it up to ignorance, but I don’t get what this is.

    Can I write code in assembly? Yes. Of course. It’s true that I never do it, but if there was a rule that you needed to write some assembly now and then to certify as a kernel developer I don’t see how it would be any kind of impediment.

    Comparing more directly: if you hand me a compiled binary and the source code and ask “why is the bit at address 0xXXXXXXXXX a 0?” I can, with 100% certainty, answer that. Probably in less than a day of effort. If I ask "why did the LLM output “for” as the XXXXth word of its utterance, can Linus say why?

    And “can you write a good commit message without an editor?” Uhhh? At least when I was in school, this was something people did for fun/messing around. I still do cat > somefile when I need to put some quick text together. In fact, Claude will sometimes write a Git commit by cat-ing into a file–which it’s doing because there’s so many online examples of this. Fucking weird things for Linus to pick. Makes me think his brain’s rotted.

    • If I ask "why did the LLM output “for” as the XXXXth word of its utterance, can Linus say why?

      If you have the model that was used, and the seed used for the generation, then yes you can trace the weights and figure out how everything was generated.

      AI is deterministic. And compilers can be just as “nondeterministic” if you don’t know what compiler was used and what flags were enabled.

      • 3 hours

        You make a good point about capability. However, I’m trying to say that in practical capability, I do know exactly what compiler flags were enabled (it’s whatever the Makefile passed, which is whatever configure determined, the whole thing is checked in as source code), but the exact model+seed isn’t being recorded for this Linux changes.

        To make the compiler analogy, we should be saving model, seed, prompt, etc and then the LLM output becomes the equivalent of the compiled code. I think that’s an extremely defensible argument, while “bet you can’t write assembly!” is not.

      • Because weight x = y isn’t really a satisfactory answer to the “why” in question though. To really answer that you need to refer to the pretraining and context, which in a lot of cases today, and likely forever, since there’s no reason for anyone to cold start model training ever again, is necessarily opaque. A lot of the best why answers are going to be given by the model itself (which… obviously circular). Trust and attribution are just really hard in this paradigm. Not necessarily so different from the challenge of trusting/attributing human output, except that humans are more diverse and in general difficult to manipulate.

      • AI is not deterministic at all, only if you keep the seed values for generating random numbers the same all over the pipeline.

        It’s literally a huge stochastic model.

    • There was another article posted on Lemmy somewhere where recently other kernel developers had to clean up after Torvalds as of recent.

      So yeah. I’d say his brain has rotted.

      • it was a code review that caught a easy to miss race condition, it happens all the time, happened in 2003 2010 2020 now in 2026

        op is making it sound like Linus pushed something into the mainline

      • Would be proper to attach some links for such a claim, I think. (I’m not saying you’re wrong, I’m just saying a link would be proper.)