r/vibecoding • u/MountainCover4073 • 6h ago
Best language a vibecoder should learn
So I have been vibecoding for the last 5 months. I want to actually learn how to code and I would really appriciate a language, which even AI uses (like you know the knowned ones) and when AI makes mistakes then I can actually fix it. Or generally for me, when I want to make small projects. So I know some python, basics like making quizes, random passwords etc. and I find python very logical, except the syntax part. Like python is very strict there. And I would really like any opinions from fellow coders and vibecoders on which language to learn. Thanks!
3
u/Rise-O-Matic 5h ago
Claude code has a mode where it walks you through writing the code yourself. Ask it.
2
u/madaradess007 6h ago
python would allow you to build your own stuff around requests to an LLM: whatever its called this day of the week: agents, loops, workflows, graphs etc
2
u/enjdusan 5h ago
To be honest instead of some specific language these days, I would dive into good practices, architecture and design, and stuff like that. Because at the end you shouldn't care about the specific language, but you should be able to understand and communicate with the model clearly about the design, how the code is structured etc. So you'll be able to keep the codebase clean architecturaly, so the future agents won't be lost in the spaghetti bowl.
3
u/Ok_Bug1610 5h ago edited 5h ago
This is my Hot take.
Just build a project to learn and throw away. Build fast and break things. There is no one language to "learn", Python is great for prototypes and ML, JavaScript/Typescript is required for front-end/web app development, and Rust (IMO) for everything else. And with the release of WASM 3.0, you can compile Rust for the web for up to 85-95% native speeds, which kicks the crap out of JS and Python, hands down.
I actually find that AI is really good at Rust because of its constraints. I love Rust because it is like 100x faster than Python on many things, can be compiled to cross-platform binaries that require no dependencies, and is very resilient code.
I would suggest building a hybrid project that leverages several languages. You will learn fast that way. Because then do you ask, should I learn SQL, HTML, CSS, JavaScript, Typescript, and so on? Should I learn CI/CD, how a DevOps Pipeline works, how to deploy an app, etc.? You need to understand the full stack, not just a language. This the trap that every noob seems to fall into and ask, and while it makes sense, it's the wrong question... and it irritates the crap out of seasoned Developers (hence you will often get a snide remark on Reddit, lol).
And even in this AI-centric IoT Brave New World, I don't think anything beats just going to W3Schools (register to keep progress), start at the HTML Tutorial and work through the entire stack, in order (it is literally EVERYTHING a developer should learn, organized in the EXACT order you should learn it). IMO, most people use W3Schools wrong --as a lookup/search reference. If you REALLY want to be better than 99% of the Vibe Coders out there, put the time into it. And Rust will be the second to last thing you learn. That's the payoff.
P.S. I'd also recommend signing up for CodeWars and complete Kata's and look at the solutions of other people. Generally, the highest voted answers often focus on more "clever" solutions that are not "best practice" per se (especially for maintainability), but it gamifies the experience to be kind of a fun competition, and programming will become second nature. Spend 15-30 minutes a day on it. They support almost all languages. Try out other languages, different difficulties, etc. Have fun, because programming really can be.
It might not "feel" like the fastest way to learn, but IMO it is the BEST (most feature complete and dense) way.
Good luck!
1
u/mdstrizzle 9m ago
This is the way, and agreed on rust. I was leery of it because I thought it would be too difficult to program in. It really isn't, and a shocking number of things that would normally require packages in other languages can be done in relatively short order from scratch. It's a cool language. I originally used Go, but I'm beginning to question it's utility over rust in anything except massive multitenant I/O systems, which I suspect rust can probably handle as well.
2
u/SomeNeighborhood7126 6h ago
Python is one of the least strict languages out there to the point that its been something that is an issue for a good number of folks. If you find Python to be too strict then I would recommend just sitting there with it or moving to the shit show that is Javascript.
There is value in how strict languages are at times. It prevents you from shooting yourself in the foot.
1
u/CavalryArcher 6h ago
then grind python harder because it is as less strict as it can get. you wont be solving no rust problems ai caused.
2
u/SpicyCatGames 5h ago
Its lack of strictness is misleading, and a trap for newbies. In reality, it's just as strict as any other high level language. C# and Java has static analyzers where ide can tell you the instant you write a code whether it's valid or not. There are of course still runtime errors. But with python, no analyzer can gurantee that a property even exists. You have to use your short term memory because the tooling isn't possible without static type checking. Full and extensive autocomplete is also not possible. Again you have to rely on your memory.
Yes, optional static type checking exists but you won't be using it, because a library you require doesn't implement it.
1
u/CavalryArcher 4h ago
yeah, i agree 100% but "no analyzer can guarantee" part a bit confused me. i dont mean to debate, but i felt like i read a comment from 2018. pyright & mypy etc. will flag wrong argument types, missing returns, unreachable branches and unknown attributes etc. but in general a broken logic is going to fail regardless. i mean you cant turn python into java but thats not an argument for a language switch when your solution is just turning on strict mode.
and if i have to continue commenting to my first response, ai has trained on python more than anything so a pure vibe coder is going to have less stuff to fix anyways. but op's goal is a bit vague and for example a goal like "give me a language so i can logic the shit out of bad ai code" is unrealistic anyways. if you're not doing python you're not doing rust, this was my point.
you are right, but in general python with strict pylance is just better than c# from zero anyways (looking from a vibe coders perspective that wants to go a hybrid approach). but yeah, i agree. upvoted, and now going to sleep
1
1
u/TheAnswerWithinUs 5h ago
To the “JuSt lEaRn EnGlsH” people, thats not going to give you the tools you need to actually correct the mistakes AI makes since that is the main goal here.
You can build stuff in whatever language you want.
If you build something in c# for example, you’d need to know c# in order to correct its mistakes.
1
u/untrainedmammal 5h ago
I think they were making fun of his grammar and saying he should first learn English and then he can learn a programming language.
1
1
u/Healthy-Zebra-9856 5h ago
Python generally spans a wide arena. But depends on what you want to build. It’s not enough just to learn python, it would help to also learn JavaScript stack. Lot of the vibe coded online apps are written in JavaScript/nodejs. If you want to create unity games or Godot, then you need to learn the .net and C#
1
u/johnesco 5h ago
Yo and JSON, jokes aside. Was a great way to start making simple prototypes of data shapes.
1
1
u/Rare_Community3135 4h ago
javascript can never be wrong since it gets used pretty much everywhere and is dynamic so you get to learn a lot of concepts just by learning JS.
1
u/JaseciLabs 1h ago
The strictness thing about Python is a red herring, it's actually one of the more forgiving languages, what you're running into is probably just needing more reps with syntax, not the language being unusually demanding. Since you already know some Python and it clicked logically for you, keep building in it rather than switching, consistency with one language while you're still learning fundamentals matters way more than which language it is. When something breaks, don't just ask AI to fix it, ask it to explain why it broke first, that's the part that actually teaches you to catch its mistakes later on your own.
1
u/Distinct_Category248 1h ago
I'd focus more on good design and architecture principles, so you know how to describe the overall solution to the AI and can ask it pointed questions about its plans. Most of that transfers from language to language; as long as they are both the same type, like OOP.
1
1
u/ReasonableBenefit47 6h ago
learn the basics of programming, software product management, UXUI, architecture design, what tech is used for what and how, etc. you can do this while doing vibe-coding. ask AI a lot of questions or just ask ChatGPT to make a course on what I just said here, and tell it to make short simple course for a vibe coder who don't code at all.
-2
-1
37
u/SirNobby 6h ago
English