I recently found some of my late uncle's programming materials and became curious about learning to code myself. I'm considering Lua, C#, or Python, mainly as a hobby rather than for immediate career or financial reasons. I'd like to eventually build something interesting and possibly develop the skill further, but I don't want to jump between several languages and only learn the basics of each. How should I choose one and get started?
4 Answers
Pick one language and start building small projects with it. Python and C# generally have a lot of beginner-friendly learning material, so either would be a solid choice. After learning the basic syntax, try making something simple, such as a command-line tic-tac-toe game. It will probably be messy and contain bugs, but fixing those problems is where a lot of learning happens. Later, you can improve it by adding a graphical interface or a computer opponent.
A good starting routine is to learn the fundamentals of one language and immediately apply each topic in a small program. Practice variables, conditions, loops, functions, and basic data structures rather than trying to memorize everything. If you already have a particular type of project in mind, let that project guide what you learn next.
Start with the official beginner guide for whichever language interests you most. Don’t spend too long comparing languages, though—choose one and use it consistently for a while. Switching constantly makes it harder to understand the common programming concepts that apply across languages.
It helps to decide what you want the computer to do instead of studying a language without a goal. Begin with Python basics, then choose a tiny project, such as organizing files, doing a calculation, or making a simple text game. Once you finish, set a slightly more difficult goal and repeat the process. The gradual increase in difficulty will build both skill and confidence.
So it’s more of a progressive process—learn enough for one small goal, then keep expanding from there?

That makes me feel more confident. I’ll try approaching it that way and focus on learning through small projects.