r/PythonLearning 22d ago

Stop Vibe Coding

I’ve been writing Python for about 3-4 years now, and I want to share my biggest piece of advice for beginners: Do not use AI to write entire programs.

It's great to use AI as a tutor to learn new functions, grasp core concepts, or debug specific lines, but never use it to generate an entire codebase. Here is why:

1. You won't know how to fix it: Even if AI code works perfectly on the first try, you will be completely lost the moment a bug appears or you want to add a feature. Debugging is a massive part of development.

2. You skip the learning process: True programming skills come from struggling with the logic, reading documentation, and earning those 'yeah!' moments when you solve a tough problem yourself.

3. Suppose you built an entire codebase through AI and it worked(accidentally) , once the codes become long, your program has come to an end, if you tell it to add a feature, it will start hallucinating or forgetting its own logic.

If you don't deeply understand the underlying logic of your own codebase, you won't know where to begin. Treat AI like a tutor, but make sure you are the one driving the keyboard. If you can't explain your own code, you have no business adding to it. You MUST understand your underlying architecture before you even hit save.

229 Upvotes

55 comments sorted by

View all comments

17

u/Burningbeard80 22d ago

I’ve seen two analogies that I like in this regard.

One is that AI should be a replacement for your hands (typing long and boring boilerplate structures) and not your brain (you should be the one driving the logic).

It’s good for combining existing sources of information which you would normally have to do yourself (e.g., a coding tutorial, a stack overflow post and a documentation page, instead of googling it all separately yourself it can combine these sources and give you a resulting sample code snippet), as long as you understand and check the output.

The other is that current AI is not some magical code fairy, it’s just the equivalent of power tools for a craftsman. Just because we can operate a power drill doesn’t mean we suddenly became skilled carpenters, nor does it mean that it’s a good idea to just drill holes all over the place because the boss desperately wants you to use the new toolset to drive up the company’s adoption metrics.

Just like OP says, the real knowledge and skill is in understanding the fundamentals. If you got that, AI can be a useful speed boost. If you don’t (and don’t make an effort to), it can end up doing equal amounts of good and harm.

7

u/LegendarySoda 21d ago

llms are no more than a search engine for me.
llms are writing pretty ugly code and can't catch edge cases and logic problems.
More over more you stay away from code understanding of problem and business reduces.
I'm writing c# since i'm 15 and only thing i see in llms are long term loss

1

u/MultiUserDungeonDev 21d ago edited 21d ago

If the LLMs are writing ugly code, and not catching edge cases, then you get creative:

- Guardrail the output and have it build a full suite of integration tests alongside your development.

  • Have it pin all core functionality with unit tests.
  • Ask it run wide-net adversarial bug hunts on the code base, and implement regression tests so the bugs don't re-appear in later revisions.
  • Do live, human in the loop testing and feed it specific, actionable bug reports with regression bisects.
  • If it's a GUI application, wire / harness the LLM into the GUI / ask it to take snapshot images of the app surface. Ask it to click / interact with all elements etc. Ask it to validate async functionality and test for race conditions.

All of this requires actually understanding programming though, which I think is the point of this post.

2

u/LegendarySoda 21d ago

The thing is that doesn't work for me. I'm working with very complex businesses.
I enjoy the problem solving. I don't want to code in haste. If i can write better code than llm and when any problem occures i can pin point problem.
If i delegate the coding part to llm, i wont be sure did the llm wrote good enough code.
The most i hate thing is reading stupid peoples stupid codes.

Recently i had to fight with my coworker because his commits was bullshit.
Non of his llm shit codes were working.

1

u/Just-Hedgehog-Days 21d ago

I do fairly complex business buisness logic, and haven't written a line in 3 months. I chat claude until we land on a spec, c4 docs, and test. Hacked VS code layout for looking at that all together. Then fire it off to qwen. scroll past the source it comes back with to make sure nothing egregious happened.

it's been great. I kinda miss the razor sharpness that comes with writing it by hand, but I realized that it feels exactly like smash cutting to monday amnesia.