• 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.

  • 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.

  • I’m no expert but a compiler does not equal and LLM built on stolen data

    • 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

      • 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.

      • 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.

    • 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.

    • 3 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

  • I’ve used Ai to try to make me operating systems and programs. All it does is give shells that you have to code the rest of what you want into it.

    Then again, I don’t pay for Ai and I’ve pretty much exhausted everything I wanted to ask chatgpt within the first 4 months of using it. Then I was able to make gemini think it was a different universe for a while until it caught on. Then I stopped using it as much.

    It was fun for a while, Ai is still something you have to pick and choose and use good judgment with. It’s not an end-all of coding.