Learning C#

Posted by Glen on May 1, 2012, 5:58 p.m.

So I took the first step in actually investing in myself as a programmer. I've had an interest in C# and Bought my first C# book, "Head First C# 2nd Edition" by Andrew Stellman and Jennifer Greene, published by O'Reilly. I really like the approach on this book and it's teaching style is motivating me to continue with it. It's about 750+ pages of content and teaches you how to use C# from scratch and use it to program video games and applications.

I'm excited for this because it has taken me way too long to build up motivation for this. I've been using Game Maker for too long when it comes to my video game projects. All of my projects since 2005 have been built with GM. It was a nice entry program. It gave me a taste of what it's like to make video games. And I've enjoyed using Game Maker a lot, but I want to go further than the basics and get a taste of real project management and learn my way around a C# environment.

I've developed web programming skills with Php & Mysql, Html, CSS on my own. That's basically the only coding I've forced myself to improve on. I've really been slacking in improving my skills in game programming. I should have really started learning a more advanced language earlier, but now is better than never. I'll be using Visual C# 2010 Express while I'm learning how to use C#. After the RPG4D competition, I may start my first project in C#. Hoping for the best. It really comes down to me putting effort in it. Wish me luck.

Comments

ludamad 12 years, 7 months ago

Moving away from GM is crucial for development as a programmer. Only once I went heavily into C++ did I realize how much GML warped my mind. C# is a good language choice, don't personally use it because of personal biases against m$oft, but it's a great introduction into more powerful languages than GM, and less annoying than Java imo. C++ is a great language to learn, but I'd say a bad choice for anyone starting programming / just moving away from GML

ludamad 12 years, 7 months ago

Other important considerations for those aspiring for long-term skills as a developer (game or otherwise):

- Get use to a powerful IDE

- Get use to stepping through code with a debugger, placing breakpoints, inspecting variable values etc

- Get use to constantly refactoring your code (Use high level IDE tools to change class/variable names automatically, treat code quality as a constant goal that you work towards by making code simpler/clearer)

- Get use to version control software. It will allow you to roll back arbitrary changes, and makes collaborative development much more feasible and concurrent. I recommend git.

- Aspire to write generic code. GM is horrible for this. Data that is used in a function should be passed to the function. Don't have a hardcoded path in, for example, a resource loading function. Keep the path as a parameter and you'll find that you will need to write far less functions in the long run, having a few that do much more.

- Realize performance does not matter until it matters. A 100x inefficient function that is called once is not worth looking at twice. Readability is far more important

- Find a coding style, and stick with it. When adding code to an existing project, it is your job to mimic their coding style exactly. This is the wrong time to assert your coding style is better.

Remember, these things make programming SIMPLER, not more complicated.

Cpsgames 12 years, 7 months ago

I love C#. It is by far my favorite language to use, and is a great language to learn because of its power, speed, and ease of use. Once things "tick" on how to work with C#, the rest comes naturally. Good luck! If you need any help, I'd be glad to give a hand too.

Sheppard 12 years, 7 months ago

I actually had some early ambitions about learning one of the C languages, and even attempted basic once. But I decided that I've got no real ambitions of being a game designer, its just my current hobby. But if you've got such ambitions, cheers man! Good luck and hope it goes well.

Rob 12 years, 7 months ago

Quote:
the C languages

Why are you grouping C# in with C/C++?

JuurianChi 12 years, 7 months ago

I'm still trying to get past my initial dislike/boredom of programming.

Rob 12 years, 7 months ago

Quote:
I'm still trying to get past my initial dislike/boredom of programming.

Weren't you studying it in college?

JuurianChi 12 years, 7 months ago

Yeeeeeessssssss……

Rob 12 years, 7 months ago

So you've been on a programming website for 5 years, you program as a hobby, you plan on programming as a career, yet you don't enjoy it?

Toast 12 years, 7 months ago

I also hate programming passionately. Especially writing essays about programming at 3am.

But then I hate most things.