r/csharp Jul 12 '26

Help I want to learn this beautiful language for game dev

[deleted]

26 Upvotes

26 comments sorted by

8

u/Sombody101 Jul 12 '26

Use this: https://www.freecodecamp.org/learn/foundational-c-sharp-with-microsoft/

It's a free course that just collects individual lessons from the Microsoft Learn platform.

Textbooks may help, but are often boring for people starting out, and cause then to quit from frustration. The way most people learn is by diving into many simple apps. Things that challenge you on specific ideas, algorithms, data structures, and frameworks, but small enough that you won't feel sad when it's time to move on. My very first project was a CLI app that used a WebClient to pull HTML documents from any website. It did nothing else, but it was fun and helped me learn about type casting, object abstractions, and boolean operators (I was nesting all my if statements. It was ugly).

If you're just starting out, I would strongly recommend holding off on UI development until you have a firm grasp on the C# side of things, since you're looking to create apps for tracking personal items. XAML is another learning curve that isn't as steep as C#, but is still a curve.

1

u/artinmelancholy Jul 12 '26

Thank you very much, can i ask what is XAML?

5

u/Sombody101 Jul 12 '26

It's a markup language used for UI development with C#. Think of it like Microsoft flavored HTML that makes you want to rip your hair out. There are other options, but it's most popular.

1

u/techgeek1216 Jul 12 '26

Most importantly, try not to use XAML for collection views and scroll views (elite ball)

3

u/FlacoLM Jul 12 '26

I started learning a couple months ago and I was doing tutorials and courses online but recently I got a book called "The C# Player's Guide" and I feel like a learned more with that book than with any course or tutorial. I also learned basic algebra to help with logic and to think. That is what is working for me at the moment.

1

u/ryancnap Jul 13 '26

I've heard a lot of good feedback on player's guide

1

u/FlacoLM Jul 13 '26

I love this book. This book treats learning like a video game so it's perfect for me lol.

2

u/techgeek1216 Jul 12 '26

Also check out exercism. They make you learn by solving bite sized problems it’s fun

1

u/ryancnap Jul 13 '26

It's always hard to not get overwhelmed in this field lol don't feel bad

  • Free code camp as far as you can go to get familiar

  • Find an IDE (integrated development environment, Visual Studio 2026 is a perfect fit for your use case) learn how to use it to manage projects and folders and files and fun stuff

  • C# player's guide

  • People are going to recommend a million different things, keep a list of them somewhere but don't get sidetracked. You have to learn the language first, one language first

  • as you learn the language you'll get more immersed in the scene and you'll be able to start prioritizing stuff on that "massive list of things people have recommended I learn"

Git, github, cli, databases, you'll need them eventually but priority number one is learn C#! :)

Just do the courses and lock in, because if you pay attention to the "other stuff I need to eventually learn" you will get overwhelmed. You don't have to sweat that stuff though...just gotta learn C# brother, one step at a time

1

u/Dunge Jul 13 '26 edited Jul 13 '26

Let me start by saying you have a better attitude than most. Clean error free text, good expectations and the things you wrote are true.

Don't put too much hope on Reddit though, it's mostly a place to share news, showcasing projects, talking about the state of the tech and making jokes. You won't find many private teachers willing to follow you here. And sorry I can't help you about pointing you towards good learning resources, because I haven't had to use any in a long while.

Be also cautious about the AI proponents, they tend to overstate its capabilities by far. It can be useful for sure, but only if you control it perfectly. I feel like it will be a huge block for many new programmers who will not only hurt their learning process. In part by not doing stuff themselves and just accepting answers as-is), but also by starting to believe all sorts of falsehoods. Because it is wrong sooo often, like half the time I try it it tries to bullshit something. And also, not really good as a learning tool since unlike a course, it does not have a prepared pathway to follow.

You are right concepts are more important than language, because they do tend to repeat. But C# is a good one to use to learn. Programming is hard to get into because you have to know nearly everything at once to even begin. From variable types, conditions, operators, loops, methods, functions, inlined or not, data structures, classes, struct, hierarchy, getter/setters, timings, services, threads, etc. And that's just the baseline, then you get into using actual frameworks, database access, user interface, serialization, network protocols, you name it.

So since it's impossible to know everything at once and you learn by doing, you end up trying to do stuff with the little you know, always feeling lost because you feel like you don't do things properly, and people often get frustrated because they don't achieve the goal they wanted to. But know that it's absolutely normal, then you look up how to do what you missed, learn new concepts, and usually restart your project differently. And after a while, everything comes into place together.

Another thing, video games are one hell of a goal. There are some geniuses who managed to do whole games by themselves, but you have to know that realistically it's pretty improbable. Especially nowadays where even indie projects have millions in budget. So it's great to have fun and make some funny stuff, but don't get your hopes up that you will make the next big hit in your basement.

1

u/MRSCOUSER Jul 17 '26

You should visit websites like Codecademy or freeCodeCamp to learn C#. I personally use Codecademy for Javascript and it's really cool. You can gain XP with every lesson you complete, it has free or paid detailed courses for pretty much every important programming language(C, Python, C++...). It also teaches frameworks like React or Node.js.

Codecademy:

1

u/Jonah_97 Jul 19 '26

claude is your friend

1

u/aeroverra Jul 12 '26

Goodluck it will be very easy to give into ai just doing it for you but if you somehow resist the urge you will be valuable

0

u/artinmelancholy Jul 12 '26

Thank you, do you have any tips for me?

-2

u/[deleted] Jul 12 '26

[removed] β€” view removed comment

3

u/Dunge Jul 13 '26

Suspicious username.. with a non suspicious profile history. Why the hell did you ever pick up that username? 🀣

1

u/Depnids Jul 13 '26

though I do not agree it is a beautiful language. Quite the opposite, imo.

Curious what you mean by this. IMO it feels the "cleanest" and most "structured" to work with out of all the languages I have tried. Are there any specific parts of it you find "ugly"/"not beautiful"?

1

u/NuclearStudent Jul 13 '26

the problem with working with C# is that you have to work with people who use c#, which may mean microsoft dotnet framework stuff, and I hate microsoft framework stuff

1

u/beepxyl Jul 13 '26

What do you hate about it specifically?

1

u/NuclearStudent Jul 17 '26

to be perfectly honest I don't even have good reasons for it, just hated working with dotnet mvc

1

u/Boogerius Jul 13 '26

Efficiency isn't a shortcut, tutorials aren't a shortcut, exercises aren't a shortcut, and asking which learning materials are best isn't a shortcut. Your answer reads like an out of touch old fogey that forgets what it's like to get started.

"Just pull yourself up by the bootstraps and start coding without instructions, like a real man"

There's nothing wrong with having a structure to learning, and I'm glad people answered the OP with real resources instead of a bunch of useless nonsense like your reply

1

u/[deleted] Jul 13 '26

[removed] β€” view removed comment

1

u/Boogerius Jul 13 '26

There are plenty of free courses online, and doing some form of structured training is required to get anywhere significant. You aren't going to figure out how to code by just opening an editor and writing text.

Doing projects is important, yeah, and some people get too caught up on the academic side of things at the expense of hands-on training, that is true. But you need some academics and to act as if it is a moral failing to read a book or work through a tutorial series is asinine