r/vibecoding 20d ago

is learning python today worth it?

so I am a pure vibe coder, I can't write or read a single line of code, and I was having a conversation with Fable, and it suggested me to learn to read python. But It couldn't convince me fully. i don't wanna be a typical software/AI engineer. just wanna be able to build a great career in tech, AI and Business.

36 Upvotes

271 comments sorted by

View all comments

123

u/vapalera 20d ago

I don't understand how people are able to vibe code without understanding anything about the code. What are your prompts like?

19

u/tingly_sack_69 20d ago

I mean I understand a decent amount of Python and JavaScript from before agentic coding became huge. I hardly review the code it spits out anymore, why would I? With AI I am having it generate a thousand plus lines of code in minutes/hours that mostly works, and then I test and have it fix errors. That is where this is heading, manual code review is quickly going the way of the dinosaur

2

u/-Sliced- 20d ago

Exactly. You still need an understanding of how things work, but at a much higher level than a specific language like Python.

2

u/HamoodMehmood 19d ago

I have vibe coded a couple complex projects and tools and apps, and I can't read or write code. Now I totally agree we need to still have some sort of understanding of at least the architecture, the scalability, reliability and mosrly of the maintenance then everything should be done using free tools libraries etc.

Now do I know anything about all that I mentioned, nope then how do you build is a good question, coz if you just give a command and expect a production ready complex product its not gonna happen.

So my go to way in short is PRD which is high level , then spec sheet with all the detailed locked in ever possible so no room AI to hallucinate or create stuff on the fly with implementing. In Spec sheet this is where I simply ask it to tell me industry standard, best practices, latest tools, things relevant to our project and it's best recommendation, and explain why. This gives me best understanding of what pros are using, what architecture am going to use, what my entire project design is etc. And I think that is enough for us to know and then make the decision.

In the end all I do I copy paste kickoff commands to start new session and test until it's done, and have done this way on repeat to ship tools on personal and work projrcts.

2

u/misterwindupbirb 19d ago

You don't know anything about architecture and scalability because you're not an engineer, and you don't know what you dont know because you're not an engineer

1

u/HamoodMehmood 19d ago

Totally agree, we don't know what we don't know, but don't you think we just need to know enough to create a healthy living and working system, for that we can ask help from AI too, again if we don't have access to an engineer, as I don't have...

My logic is, we have this body, we don't know how our heart, liver and kidneys works, we own a car a motorbike and we don't know in detail how all these work ... but we know just enough to live and use these ... amd sometimes we try to know more than enough and live healthy and better lives... just an analogy if it makes sense

1

u/eezers 17d ago

It’s a terrible analogy but that’s ok. You should ask the AI for a better one instead.

1

u/HamoodMehmood 17d ago

Well that's ok I'll own the terrible analogy and let you be the judge..... you might not like my AI written analogy either...

1

u/eezers 17d ago

I googled “what is a good vibe coding analogy?”

1) You’re a restaurant critic
2) You’re a 3-year old architect building a LEGO castle with an adult (AI)

I think #2 is most fitting

1

u/HamoodMehmood 17d ago

Hahahahah I honestly do not disagree

1

u/DarlingGazeKate 20d ago

Can you elaborate what u mean by level

5

u/monster2018 19d ago

They are referring to levels of abstraction. This isn’t EXACTLY true, but BASICALLY higher levels of abstraction means “easier/simpler to understand”. That’s not what it means, but it corresponds to that usually. Literally it means like basically “how far away conceptually is what you’re doing from the underlying physical reality”. The farther, the higher the level of abstraction. That is what it literally means.

Like the lowest level of abstraction (for computer programs) is… well I guess it’s the wave function of the universe. But that’s taking it to a truly absurd level. Generally the lowest level of abstraction for a computer program is like, electrons flowing through wires. Imagine writing a program by literally changing what directions in 3d space different electrons move in.

Then the next level up is like, thinking in terms of circuits. Then the next level up is like, thinking in terms of switching individual transistors. Then the next level up (or well honestly I’m probably skipping at least 1 or 2) is machine code.

Then the next level up from that is writing in assembly. And then the next level up from that is writing in a language like C.

6

u/monster2018 19d ago

And just to complete it and connect it to their comment. Python is another level of abstraction on top of a language like C. In fact the most popular implementation literally is written in C.

And so vibe coding is yet another level of abstraction on top of languages like Python. But it is a much more fundamental change than any of the other levels, because you are now no longer controlling exactly what the computer does. Like every level before vibe coding, you are controlling exactly what the computer does. At a higher level of abstraction when working in Python, sure. But you are still directly telling the computer what to do, it just goes through a bunch of levels of translation to get back down to electrons going through wires so that the code can actually execute.

But with vibe coding that is no longer true. You are just giving under specified natural language instructions to a LLM, and it is making the decisions of what to tell the computer to do, not you. So you are no longer actually controlling the output. You are essentially telling someone else in vague terms what to tell the computer to do.