When you're just starting to learn to code, it's hard to tell if you've got the basics down and if you're ready for a programming career or side gig. Learn Python The Hard Way author Zed A. Shaw has a suggestion: Learn the basics of four programming languages. Photo by dullhunk.
Shaw describes in detail the difference between beginner coders and early coders. Beginners have zero experience, so they will need to learn the really simple stuff like opening the terminal -- things that other programmers might take for granted and assume people already know. Early coders, on the other hand, have a bit of experience already and the basic skills down, and just need more training, particularly with problem solving.
To get the basic coding skills to go from beginner to early programmer, Shaw recommends learning four different languages:
My current method for training up beginners is to make them learn the basics of 4 programming languages. I'm not sure why 4 seems to be the magic number, but after they have gone through 4 programming books and learned to make tiny little programs plus all the syntax, they seem to have a firm grasp of the basics. This phase is all about learning concrete simple things, but also understanding the idea that the concrete things are just standing in for abstract concepts. In one language || (two pipe symbols) might mean "or" and another language will use the actual word "or" but this is the same concept and the symbol doesn't matter. After their fourth language they get this and can then move on to being an early coder.
Four sounds like an awful lot of languages to learn for a beginner, but the idea is to get a broad understanding of programming and the basics down.
As for which programming language to learn first? Pick one. And then keep going.
Early vs. Beginning Coders [Zed Shaw]