While sorting through some of my late uncle's belongings, I learned that he had been a programmer. That made me curious about programming, so I started looking at languages such as Lua, C#, and Python. I'm interested in learning as a hobby rather than immediately pursuing a career, though I might develop it further later. I'd rather choose one area or language to focus on deeply instead of learning the basics of everything. What would be a good way to begin?
3 Answers
Start with a small goal rather than learning a language in isolation. Learn the basic syntax and concepts in Python or C#, then decide on one tiny task you want the computer to perform. After that, set a slightly more difficult goal and build on what you already made. This progressive approach teaches both the language and the problem-solving skills behind programming.
A good starting point is the official beginner documentation for whichever language interests you most. C# has a structured learning path, while Python is often easier for a first language because the syntax is straightforward. Try to create practical little programs that solve problems you actually care about; having a purpose makes the learning process much less frustrating.
Pick one language and start building small projects with it instead of constantly switching. Python and C# both have plenty of beginner-friendly learning material, so either would be a reasonable choice. Begin with the official tutorials or a structured video course, then try making something simple, such as a command-line tic-tac-toe game. It will probably be messy and buggy, but fixing those problems is a big part of learning. Once it works, improve it by adding a computer opponent or a graphical interface.

That makes me feel more hopeful. I’ll try working through the challenges gradually and not worry about making mistakes.