I've been teaching myself programming for a few months and have covered the basics of C, Python, HTML and CSS, some Node.js, and a little Java. The problem is that none of them feels especially satisfying, and I keep jumping from one language to another.
Has anyone else felt this way early in their learning? How did you get past it and commit to one language? I keep thinking I should continue with Python and start learning C++, but I'm already frustrated and don't know whether that's a sensible direction. Should I choose a project first, focus on programming concepts, or try something completely different?
5 Answers
The uncomfortable part probably isn't specific to any one language. Variables, loops, functions, breaking a problem into steps, and debugging are challenging at first regardless of the syntax. A programming language is only a tool; the more important skill is learning how to solve problems. Choose a practical goal and keep working through the awkward beginner stage.
Don't wait for a language to feel magical. At only a few months in, programming is still going to feel slow and confusing, much like speaking a foreign language when you're just starting. Pick one—Python is perfectly fine—build several small projects, and give yourself enough time to become fluent before judging it.
Stop collecting languages and build something concrete. Pick a small goal—a calculator, simple game, automation script, website, or anything else you actually care about—and use one language to finish it. The project will give you a reason to learn the syntax and make progress feel more tangible.
If mainstream languages haven't clicked, exploring a language with a very different style can be interesting, such as Haskell, Lisp, or Prolog. Just treat that as exploration rather than another reason to keep switching. The main thing is to settle on one tool for a real project and finish it.
Try deciding what you want to make before deciding what language to learn. Web development, games, robotics, data analysis, and desktop applications all lead toward different tools. Once you have a goal, the choice becomes much easier. Python is a reasonable language to continue with, but adding C++ while you're already frustrated may just create another distraction.

That makes sense. If every language feels equally difficult, the issue may be getting comfortable with programming itself rather than finding the perfect syntax.