Linux and Git inventor Linus Torvalds discussed AI in software development in an interview earlier this month, describing himself as “fairly positive” about vibe coding, but as a way into computing, not for production coding where it would likely be horrible to maintain.
Torvalds was interviewed by Dirk Hohndel, head of open source at Verizon, at the Linux Foundation Open Source Summit in Seoul, South Korea, earlier this month.
Torvalds is technical lead and maintainer of the Linux kernel, but said that “for the last almost 20 years, I’ve not been a programmer.” As for Git, which he invented, “I really just look at it from the side.”
important context:
Regarding vibe coding, Torvalds described himself as “fairly positive” – but not for kernel development. Computers have become more complicated than when he learned to code and was “typing in programs from computer magazines.” Vibe coding, he said, is a great way for people to “get computers to do something that maybe they couldn’t do otherwise.”
This is despite the fact that vibe coding “may be a horrible, horrible idea from a maintenance standpoint.”
It’s also useful for prototyping. Put something together quickly as a proof of concept and then do it the proper way. That is how I mostly use it at least.
Only sensible usecase of vibe coding if you ask me. Rapid prototyping.
Or an interactive rubber duck.
At that point it wouldn’t really be vibe coding.
Here is the full interview: https://www.youtube.com/watch?v=tWx769t1JKg
I can understand that way of thinking, but
- you’re at risk of becoming dependent, and not building the understanding you’ll need to make something that matters
- many things start out as hobby projects that end up mattering after all
Computers have become more complicated than when he learned to code and was “typing in programs from computer magazines.” Vibe coding, he said, is a great way for people to “get computers to do something that maybe they couldn’t do otherwise.”
But the equivalent would be to take tutorials, examples and small open source projects and tinkering with them, rather than asking a machine to do it for you, no? I guess we’ll have to see how this affects young / beginner programmers going forward. I’d rather be careful than just hoping it all works out fine.
you’re at risk of becoming dependent, and not building the understanding you’ll need to make something that matters
Could be – and has been – said about literally any abstraction. Some people still haven’t gotten over the fact that assembly is not the default system programming language anymore.
For me vibe coding is more akin to vbscript or MS Access. It’s for people who neither know nor care about the “how” and don’t give a shit about quality, performance, security, or maintainability (i.e. people who have no interest in software development). It’s a market that’s looked down upon for many good reasons, but it does exist and it does serve a purpose for small-scale and low-stakes DIY automation. Unfortunately that purpose is a lot narrower than the marketing pitch, nevermind all the other deleterious problems with the AI industry as it exists today.
literally any abstraction
Except vibe coding is not an abstraction in the way that word is usually used in the software context. Abstractions are deterministic. They may be leaky, but they can be fully understood and properly debugged if you have the skill. A chat bot that gives you a completely different result each time you give it the exact same task is something very different from that.
I agree with all you said but it’s still a (bad) abstraction.
By and large, the original market for VBScript or Cobol were people who did not have the means to understand - nevermind debug - their own output. Then actual professionals were hired to fix their broken pile of shit.
Vibe coding is arguably worse in many areas (such as determinism), but I’d argue it’s a difference of degree not nature. The idea and target audience are largely the same, and the results will be as well, which is why I am not worried for my job security, quite the contrary.
I think that’s a very valid point and I had to check my assumptions to see that you are largely right. However, I’m not sure your last sentence is necessary relevant, as the output of vibe coding is typically deterministic code, not code that is itself dependent on LLM (although that can happen as well but it can be considered as a special case).
Yes, but if you send the same promt to the same LLM n times, you’ll get n different versions of the same thing.
When compiling the same C code (for example) with the same compiler and the same settings n times, you’ll end up with n copies of exactly the same binary.
That’s just a weird comparison though, why are you comparing implementation to compilation? If I ask you (or a cohort of developers) to implement the same thing, I will get different versions of the same thing.
But the equivalent would be to take tutorials, examples and small open source projects and tinkering with them, rather than asking a machine to do it for you, no? I
I’ve found that using LLMs to research/summarize eases the friction of entering a new hobby and having to learn the tools, techniques, vocabulary, etc. You can just use Google (As an aside, nobody worries about how dependent we are on search) but the answer may not be in a answered in a way that is understandable to you or that fits into the context that you’re working with.
I’m going to RTFM eventually, but right now I need to figure out what the hell ‘Hello World’ means, who is World? Where do I type this text? What does compile mean?
Of course, none of this changes anything about the fact that it requires actual mental effort and problem solving in order to learn. LLM agents provide a new tool for people to use to avoid making that effort which can injure their own education, I can agree there. However, if deployed intelligently, they’re a useful tool/tutor if you can’t afford a, fairly incompetent, human expert in every field to be on call 24/7.
guess we’ll have to see how this affects young / beginner programmers going forward
From what I’ve seen so far, it’s not looking good…
Pretty reasonable take IMO
I can see how it can be a useful tool to get people into dev
You need to back that up with real learning though
If you can’t/don’t review and completely understand every line of code you submit to a project yourself, you should not be surprised if the project owner tells you to take a long walk towards the Mariana trench
I been vibe coding a Discord bot to teach myself Python. I’m finally good enough to get frustrated with the code the Ai gives me sometimes and do it myself.
Using LLMs as a semi-incompetent tutor is a good use. They know the basics well enough to explain it to you and have an idea of how to do the more complex stuff… but if you actually needed the thing done, you’d hire a professional.
As someone who is not a great coder. I can help in cases of double checking in addition to learning.
I made a USB HID report & device descriptor, it works fine everywhere except it causes KDE settings Game Controller menu to segfault when identifying USB devices.
I know there is a 99% chance that it is due to my descriptor being wrong. AI found my mistake of carrying over the logical min/max number of bits to the report size and my logical minimum was 1 too small. Haven’t had a chance to test yet, but maybe I saved the KDE maintainers annoyance of a false alarm bug report.
And that issue existed before vibr coding too.
deleted by creator
for a quick script to automate a task I really don’t see a problem, if you can directly see if the result is the good one, even if you don’t understand the script itself, but don’t try to publish something you don’t understand
Writing tests too. My recommendation to everyone interested in vibe coding who asks me is to instruct the AI to write the tests before the implementation.
That sounds about right.
I mean it is better than not coding at all.
It’s basically like telling a junior dev to code something for you and then passing it off as your own work.
Would’t call that coding either.
deleted by creator











