# Returning to Programming

This topic is 1315 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Hi all,

So after a year out from programming, and the forums, I have decided to return to thing that I love!

I have been out of the loop for so long that I am effectively starting again. I want to start with a language that is easier to understand, and plug away at, than C++. It didn't work for me before, but I hope to go back to it at a later date.

I want to program, and I want to see results fast(er than C++), so I have decided to go with C#. Is this a good choice? What are good resources/books to start from the ground up. Is it worth going into XNA.

I know this sounds like a lot to ask, and I am not unfamiliar by any means with forum guidelines, but if there is any advice, I will gladly take it.

Stitchs.

##### Share on other sites

Maybe I could have worded it better. I also know that it's quite the divisive subject.

What I want to know is, what is a safe language, to learn from the ground up, to then progress onto games programming. I kept getting into C++, making progress, falling out of touch, and then coming back feeling like having to start again. That's partly to do with my lack of practice, but the books I read and tracking memory errors/debugging really slowed down the learning process.

I have heard C#/Python/Java are all safe languages. I want to go with C# and make use of XNA later, before hitting C++ big time!

Mobile is something I want to start on, much later.

Stitchs.

##### Share on other sites

Trust me, I found out a long while ago that the 'dream game' is not something to go with first. I want to start from the ground up, I just want a recent, relevant C# tutorial where I can start, and then find some projects to complete.

Stitchs.

##### Share on other sites

Just saw your post right before mine. C# is a bit more forgiving than C++, so it C# might be a better choice for you. Some problems like memory management are handled automagically for you so you don't have to worry about it (asterisk). C# plus a framework is even better (once you have the fundamentals down) since it wraps up certain things for you in easy to use classes allowing you to actually DO something instead of just tracing through memory allocations.

(asterisk) - You still have to worry about it, but most of the "simple" cases are handled for you. This means that when a memory issue DOES creep up it's often times sneaky and hard to find. I do recommend learning C++ at some point in your programming career, but for starting out/hobby game programming I can see how C++ would be overwhelming. Maybe take some courses on C++ to force yourself to stay committed.

- Eck

##### Share on other sites

I was in same boat as you OP.  As a hobbyist it was frustrating doing C++ console apps and I tried to rush ahead and inevitably ended up failing.  Tried again with C#, much easier to see results for the kind of things I stressed about with C++ (like just making a simple window!).  That said, I am getting a bit bored of my book as I find the GUI design part tedious and would rather focus on coding so I've slowed down a lot over the last two weeks.

##### Share on other sites

What book is it you are using?

I came across this series of tutorials yesterday: http://www.microsoftvirtualacademy.com/Content/ViewContent.aspx?et=7684&m=7665&ct=27107

It starts really basic, but I'm enjoying it so far, are these good tutorials? I guess they can be updated and expanded upon much quicker than waiting for a new book. Has anyone used the Virtual Academy before?

Stitchs.

##### Share on other sites

Hi,

I was using Head First C# 2nd ed.  I like the look of those video tutorials and it's not a medium I've tried for learning this so I'm going to give it a go.

##### Share on other sites

I stressed about with C++ (like just making a simple window!).

This as an example but also in general. A language is just a language. The important part is finding, researching and leveraging existing work out there so that you do not have to reinvent the wheel (needlessly) or code so much before you get results.

I.e with C or C++ I would simply call little more than the following to create a window.

#include <GL/glut.h>
...
glutCreateWindow();


So you are probably not looking so much for an easier language but rather an easier platform (including helper libraries) to automate using your language of choice (i.e to make a game).

The simplest platforms that I know are either Flash (AS3) for 2D and Unity (UnityScript/C#/Boo/.NET) for 3D.

With C++ (if you are interested), Unreal Engine 4 is suprisingly nice to use (has good tools). (It also provides a domain specific scripting type "language" called blueprint which I dont know too much about)

XNA is not much more higher level than SDL and OpenGL so I don't know if you will enjoy working with it as much as Flash or Unity.

Edited by Karsten_

##### Share on other sites

Thanks.  I should point out when I was learning (Visual C++ 6.0) I was punching above my weight anyway as I hadn't learned a lot of the basics.  I was creating a window using rh Win 32 library (I think) and it took a lot of code.  I was unaware of a lot of things then as I didn't have internet much as it was the 56k dialup days.

##### Share on other sites
I recently started learning programming and am in kindof the same situation as you. I went with python because of pygame. I want to get into game development and was looking for an easy and fun language and pygame so far seems to have what I'm looking for. There are great tutorials online to get started making a game like the ones by 123animations.

##### Share on other sites

C# opens up many possibilities. I personally like the fact that it is one of the two primary avenues into an editor such as Unity.

Also helps you focus on the things that you get immediate results for.

Personally went to HTML5 / Dartlang (Google's) as a stepping stone because it is very fast for prototyping (especially with libs such as StageXL).