I've dabbled with a variety of programming languages like Python, Ruby, Java, C, C#, and JavaScript just to get a feel for what programming is all about. I've enjoyed solving some basic problems using scripting languages—for instance, using Python to sort files and creating very simple Selenium automation scripts in Java. Now, I'm eager to take my skills to the next level, but I'm unsure of which path to pursue. There are probably many programming domains and languages I'm not even aware of, aside from the well-known resources like FreeCodeCamp, The Odin Project, and CS50.
I'm pretty open to where this journey might take me, but I want to learn about data structures, algorithms, and design patterns that experienced developers use. However, I'm not interested in traditional web development, especially front-end work. I've tried, but it just doesn't click for me.
I'm looking for a programming language or tech stack that:
1. Offers plenty of resources to help me progress from beginner to contributor.
2. Has interesting open-source projects to contribute to, so I can gain experience in team workflows.
3. Provides opportunities for remote work, as I live in a remote area where that is my only option.
Here are some areas I'm curious about:
- C# for Windows desktop application development (I wonder if this will be relevant in the future)
- C and systems/OS-level programming (I'd love to understand how operating systems function)
- Creating MUDs or text-based multiplayer games, as they're great for learning OOP, classes, and networking—plus, many of them have been around for decades
- Diving deeper into the Ruby language as a standalone scripting tool, separate from web development.
As an older learner, starting with desktop applications felt appealing, but I question the long-term demand for those skills. I'm pondering options such as C# .NET Windows apps, but also considering other languages given the current tech trends.
1 Answer
If you're leaning towards C#, I'd say go for it! It's very versatile; not only does it stick to the Microsoft ecosystem, but recent updates have made it more flexible (you can even use it as a scripting language now). It has a ton of helpful resources too, so you'll be well-supported as you learn.

I heard FreeCodeCamp has a great introductory course on C#. Do you have any recommendations for beginner-friendly resources?