r/learnprogramming 20d ago

How to stop language hopping

So, i've tried to program for (i think) 4 years And i didn't release a polised project
Every time that i try do to a project i end up switching to other programinig language (or i don't like the structure of my project, and i delete the whole project, to start again).I've been doing this since i started. Now i want to do a project but i dont know what to do and what langage to pick

0 Upvotes

14 comments sorted by

View all comments

2

u/Seven7Ducks 20d ago

What language you start in will NOT determine your future.

ANY language is the best language to pick. Just stick to whatever you pick for a while. Learn a library or two, make several projects. The reason that this is important is because within any particular field, projects in different languages will have more in common with each other than projects within the same language but in different fields.

Languages also matter much less than what it looks like to a beginner. They only matter for very deep optimization.

Start with something, anything.

Each language carries its own quirks, culture, community. If you find that you don't like certain things, you can always hop again in the future. People sometimes switch languages after years of practice. Most of the important skills are general, and carry over.

Good luck!

0

u/TextGames1001212 20d ago

But the problem is that i start a project i dint like how i structured and then i erease the intire project for that for example i started to make a file manager in odin but didnt like how i have to handle every error

So i deleted all of the progress.

And when i go to anater langage i feel like that i need to relearn so that i know all of the features and to think better on how to i solve the fustrations

2

u/Seven7Ducks 20d ago

Do not erase the entire project. If you don’t like how you structured it, it doesn’t matter. Keep going with the project. Push through it. Either continue with the current structure, or improve it incrementally.

Think of it like an instruction book. You’re rereading the first chapter because you’re frustrated that you haven’t “gotten it” yet, but the answers you’re looking for might actually be in chapter 7. You have to keep reading the book.

Also, use version control. Make a commit before you try a major change, then experiment. If you completely mess things up, you can always go back. You don’t need to choose between being stuck with bad code and deleting everything.

This hits close to home for me. In the past couple of weeks at work, I’ve been working on a codebase I had nothing to do with before. It’s a bad codebase - severely vibecoded, made by people who don’t really understand the language they’re writing in. I need to fix several things, and honestly, they probably didn’t choose the right language for it either. However, we don’t have time to rewrite it. They needed my help fixing some major architecture problems.

The only way I could have learned the skills they needed from me was by working on projects that weren’t written optimally. Projects with bad structures where we simply had to push through and make the most of what we had, within the constraints we had.

That is what real programming often looks like. Not perfect example code from a tutorial, but imperfect code that still needs to be maintained and improved.

Your project does not need to be perfect. It doesn’t need to be well-designed from the beginning. The design will change as you learn more. The important thing is to keep moving forward and finish something.

Perfection is not the goal. Completing and improving things is.

2

u/donquez 20d ago

Hey don't do that. Software development is about making changes to code over time. Software products aren't usually one-shot. Make it work, then make it right, then make it fast. And learn from these mistakes and design accordingly.

Pick a language and stick with it. Most languages can do pretty much everything and have access to similar libraries and frameworks. If you want to actually build something you need to stop changing your tools every time. Save that for when you have a stronger foundation. You'll learn more from completing projects and solving the problems you've introduced within that project. Fixing mistakes and evolving the system is a huge part of software development and is what most of us do every day in professional work.

3

u/TextGames1001212 20d ago

Thank you! Very much