This is my first post, so I’m going to make it relatively brief.
TL;DR
- Vibe-Coding is using AI to Code in a language you don’t know.
- To Vibe Code: Ask chatGPT and copy paste to an IDE, or use a more integrated tool like Codex
- Vibe-Coding will democratize coding but it won’t make knowing how to code irrelevant.
What is Vibe-Coding?
Vibe Coding is using AI to code in a language you don’t know. Generally you have AI do as much heavy lifting as possible, only stepping in for minor adjustments and actually implementing the code. (check out the Wiki article for Vibe-Coding)
This allows anyone with access to a computer, the internet, and a little bit of know-how, to code anything that they want. Which will be great news for anyone who has a great idea but can’t execute on it. That isn’t true for the people who only ’Said’ they had a great idea but couldn’t execute on it.
How do I Vibe-Code?
This one is kinda tricky as there are multiple ways to do it. I’ve done it two ways - both using Chat GPT
- Ask your LLM of choice to code something - then copy-paste it into your IDE of choice.
- Use an integrated tool like Codex.
Both are valid (I can’t really say there is an invalid way to Vibe-Code). Take the rest of the discussion below with the grain of salt that I do have some coding experience (R, VBA, and Python) but nothing crazy.
If you are using the first method, you have a lot more control over the code, and checking the code, and implementing the code - which is great, but it is easy for some of your granularity to be lost when going back and for with the LLM. That is something I experienced - I would be asking the AI to help fix a problem, but it wouldn’t be looking at my most up to date files. This is a much bigger pain if you have multiple files. This method is like you are driving and AI is helping you navigate. I would say it is a good way to just dip your toe in.
If you use the second method, you have a lot less control - a lot more changes can be made all at once. This method overcomes the burden of having to keep the AI up to date on all of the tweaks you make - it incorporates nicely with GitHub. The biggest problem I experience was that I couldn’t test the code unless I either copied to an IDE or just created an pull request and merged it to access the code on my own. So testing was a bit of a bust with this method. Overall I would say it is better.
There are also tools like Cursor, Replit, Lovable, and Bolt. I haven’t really used them so I don’t have much to say about them. I would think that Cursor would be pretty good at bridging the gap, since the AI is integrated into the IDE.
Is Vibe-Coding going to make Coding irrelevant?
Let me preface this section with the fact that I am not a huge coder, and I am only moderately exposed to the impact that AI is having on coding. That said…
I think that AI will certainly make it easier for anyone and everyone to code. However I don’t think that the skills behind coding will be completely replaced. The biggest gap I see is in actually implementing the code.
It is also extremely helpful to be able to read code, and understand what it is doing, that way you don’t accidentally do something harmful because you didn’t double check the code that AI gave you.
There are a couple of sayings that I say a lot in person that I think apply here - both I have heard and I have co-opted and changed for my own purposes.
- Science doesn’t make value judgments - people do. (Thanks to Dr. Yoder)
Science tells you “If I do X, then Y is likely to happen”. It does not tell you what you Ought to do. Same thing here. AI can tell you how to do something but only you can decide what you ought to do.
- The only reason you learn things is so that you can respond quicker, and understand the implications better than someone who can run to bathroom and Google it. (Thanks to Dr. Batina)
If I were to give all of the AI tools in the world to someone who doesn’t know anything about code, I do not doubt they would be able to accomplish a lot. However it would take a long time, and they would have to learn a lot of things. The biggest area I think they would struggle is implementing the code.
However, if you give these tools to someone who already knows what they are doing… you turned a 24 hour project into a 30 minute project. Whereas with the other guy it would still probably take 5 hours.
I say this because I have had AI walk me through how to set up a home server (I learned a lot, and didn’t know much going in) - I had to ask it to explain it’s instructions because I didn’t have a basic level of understanding to implement some of the instructions. So knowing your stuff will still be useful.
Example of Vibe-Coding
I won’t write anything too lengthy here (in this already brief article), but you can check out this neat tool I made to draw with fourier epicycle HERE.
This took me one evening to do. I had an extremely functional first draft in about 5 minutes. It is written in html and Java which are coding languages I am not familar with. I am only moderately familar with fourier decompositions. So the math was done and the code was done very quickly. On my own it would’ve taken me a good deal of time to research how I wanted the math too work much less the actual implementation of the code.
All of the code is available on my GitHub as well.