Complete beginner

Started by
14 comments, last by DZee 11 years, 9 months ago
I'm a complete beginner at programming, I tried to teach myself C++ a while ago and it all went downhill. I struggled a lot with it and was really put off, but I've always regretted giving up.

I made a topic a while ago about dyscalculus and programming and many people here posted about how they'd dealt with it so I've decided I'm going to work on it as well, but I don't know a good place to start.

What languages would you suggest for a total beginner? And what books?

Because I'm interested in Game Development is it advised I focus on that area more so? Or just programming in general?

Thanks for your time and help!
Advertisement
Just learn the damn C++ language if you want to focus on game development. It is not actually that hard. Think of pointers as pointing with your finger at person who is pointing at another person who has 303 written on his forehead. Now have two dimensional pointer and you want to know what the variable on the third persons forehead is. You point at the one who points the variable and ask him could you get the number from his forehead. The one you point with your finger points at the one who has the 303 written on his forehead and asks him what is the number on your forehead he replies to the second pointer and the second pointer replies to you 303.

int ** you;
int * yourfriend;
int hisfriend = 303;

// lets point your finger at your friend
you = &yourfriend;

// Now your friend points at his friend
yourfriend = &hisfriend;

// Now lets see where your finger is
std::cout << &you << std::endl;

// Now lets see what we are pointing.
std::cout << *you << std::endl;

// Now we want to know what number he has written on his forehead so we want to know what your friend is pointing.
std::cout << **you << std::endl;
I would suggest trying different languages out, but I suppose that sounds a little daunting to a complete beginner. In my experience (which isn't much), Python is a fairly aproachable language, and is currently used by lots of developers. I'd say it's a good place to start.

Check this out: http://docs.python.org/tutorial/

Starting out in game programming? Me too! Check out my blog, written by a newbie, for the newbies. http://myowngamejourney.blogspot.mx/

Also, if you don't mind a 5 seconds ad, here's a great free ebook for beginners on the subject of pygame: http://bit.ly/19Bem2q

Start with pseudo language, I don't know if there are books focused on that.

But I am a great advocate to learn C++ as a first language if possible, my first language was Pascal, then I moved to C++.

I'm a complete beginner at programming, I tried to teach myself C++ a while ago and it all went downhill. I struggled a lot with it and was really put off, but I've always regretted giving up.


Persist and keep trying, if not with C++ then something else. At some point things will click and probably sooner than that you'll realize that you did learn something from your prior experience, even if you think a little negatively of it now.

Bear in mind that a little of people have difficulties learning some aspects of C++, including and commonly things like pointers. Don't worry too much about this, just keep trying with such concepts and eventually it will fall into place. We all went through this and if it held us back which is comment, it was eventually proven to be a temporary setback, as will your challenges.

I made a topic a while ago about dyscalculus and programming and many people here posted about how they'd dealt with it so I've decided I'm going to work on it as well, but I don't know a good place to start.


I don't have much knowledge of that in particular but bear in mind plenty of programmers have one issue or another that holds them back. I've always had a problem remembering formula for example and while it is not as serious as dyscalculus I do have to more or less constantly look things up.

Also bear in mind that programming and math have a strong link, but not all programming involves doing math. Doing non-math programming will help eventually bust through the barrier of other challenges.

What languages would you suggest for a total beginner? And what books?


Don't know about current books and for the most part I'd say 'use the internet for the same' anyway, but as far as languages go a lot of people recommend C# over C++ as a first language.

Personally I would try several different languages and in addition to C#, try Java and Python in order to get a feel for which one you like best and are going to be most comfortable with. While all languages are different, there are many traits that are shared and learning one will help you learn another. Finding what is easiest for you will either way help you learn the language you eventually desire (even C++) and you won't be wasting time looking at any of them because what you do learn in one language, even if it does not transfer directly (and it often does) will broaden your knowledge and experience FTW.

Because I'm interested in Game Development is it advised I focus on that area more so? Or just programming in general?


You don't need to focus on games to learn programming. There are many examples of small games however that do make good exercises. For whatever aspect of a language you are currently learning, follow whatever source material you use (books/web) and learn with their examples first. Then I would search the web for other examples of the same language aspects, which should introduce you to other programs which use the same. This'll tell you a lot about how the various concepts are applied, which should give you good ideas for how you might want to pursue exploring them further, via a game or whatever.

That's actually a masked suggestion to look at other peoples code as often as possible. You'll learn a lot from others, both good and bad ways and experience will eventually guide you down the good path...but don't be scared to learn the bad either. You need to crash and burn in order to take the best path later on.

Don't try anything too big until you have learnt enough. How to judge that? Well, you'll gradually sense this more than anything and it won't hurt to start things and then try something smaller. Testing your boundaries like that is par for the course. You may not realize this, but you've already been doing this by the sounds of it.

Time and patience is more the issue than anything else. If you have those, try out various languages as I've mentioned and take your time to do whatever you feel comfortable with.

Also...just ask, as you have done here. There are plenty of people that will help with whatever you are stuck on so in many ways there is no need to even go near the highest levels of frustration.
Personally, I would strongly advise against learning C++ as a first language. There is currently a longer thread happening about that topic anyway: http://www.gamedev.n...first-language/
I did not keep close track of it but several people whose opinion I respect agreed with that assessment when I quickly skimmed over it. I do not want to pollute this thread with what would better be placed in the other thread but let me make one quick point:
As a beginner in programming, you need (and want) to be able to try something and see if it works. With C++, a lot of things can be horribly wrong (and will cause huge problems later on) but appear to work perfectly fine.
No language is perfect with that, but Java let's get you away with very little bad stuff. I don't have much experience with either Python or C# but both should be reasonable choices as well. At least much more reasonable than C++.
Try this book 'Code' by Charles Petzoid. I have this bood and it helped me understand how computers really work. The book starts with some history and then progress into how to build a computer from scratch using relays and logic gates. Afterwards, it shows how asm translate to binary. This is not c++ but it will help you get a better understanding about computers and programming in general.
What languages would you suggest for a total beginner?[/quote]
Try learning Python or Java, even C# is easier. I beleive Python has a very active game development community. If I am understanding what I have read about games, C++ is what you need for top notch games, but to build simple ones, where you can hone basic programming skills without the hassels of the C++ language there are several to choose from. If I had to recommend one I would say give Python a look their website has some very well done documentation. In fact to date I only know of one other language that does a slightly better job on documentation, PHP. Most languages are refered to as c-based languages so if you get one down you have a big step up in learning C++.

Because I'm interested in Game Development is it advised I focus on that area more so? Or just programming in general?[/quote]
I would think you could make a game right out of the shoot. How much code does it take, for example, to make a text based dice game? You could probably do it in a hundred lines of code or less. Start simple and work you way up. The trick is to get your mind set on the fact you will not be starting your million dollar game idea for at least 2 or 3 years (not to discourage you).

By "dyscalculus" I assume you mean "dyscalculia". I guess if I was about 10 years younger I would have had it too. But as I was born too soon I never got dyagnosed, thankfully. To do complex math you need to forget the methods you were taught in school. Most don't realize it but just about every day you are doing algebra. If you go do anything were you plan to spend a predefined limited amount of money the process by which you decide how to spend that set amount is algebra. And I guarantee you didn't write out the equation and you likely did the math in your head. The basis for all math is 2+2 (addition) or 2-2 (subtraction), anything more complex than that is had it origin there. Sometimes geometric calculations require a formula but those should be as simple a basic addition (multiplication) and subtraction (division). If its more complex than that someone is just showing off and go find a simpler formula elsewhere. Knowing you have dyscalculia is likely a bigger disadvantage than the actually having dyscalculia, as it causes one to give up long before they would have otherwise.

I'm a complete beginner at programming, I tried to teach myself C++ a while ago and it all went downhill. I struggled a lot with it and was really put off, but I've always regretted giving up.

I made a topic a while ago about dyscalculus and programming and many people here posted about how they'd dealt with it so I've decided I'm going to work on it as well, but I don't know a good place to start.

What languages would you suggest for a total beginner? And what books?


I will share my two cents on the subject. I think learning the syntax and actual programming methods is not the problem. Usually people find it easier when they take baby steps, this is usually best when you're working with something straight forward that let's you do things in order. Languages like C++, C#, or Java are object oriented programming languages, while it's possible to implement none object oriented designs with them, most tend to focus on that and assume that you will be using them for an object oriented purpose.

My advice is to choose something straight forward yet challenging at the same time. The first time I learned how to program is when I was doing windows forms with VB 6, and while it was great and easy, is was way too easy and did not teach me a lot of fundementals. Eventually I did learn C programming by doing tutorials and writing command line programs, only then I learned how to program very well. I found C to be a great language for a begginer because it was top to bottom and once the concepts of programming were learned, I was able to apply them to other languages later on such as C++, C#, Java, JavaScript, PHP, etc, though I eventually had to takle the different styles of programming, but that should be done when you can program a bit.

Because I'm interested in Game Development is it advised I focus on that area more so? Or just programming in general?

Thanks for your time and help!
[/quote]

Don't worry about game programming until you at least learn how to program. Dedicate yourself a good month to two to learn programming (Depending on how fast you pick things up). Game programming will eventually be waiting for you when you're done with general programming.
You should buy these two books or borrow them from you local lib:

http://www.amazon.com/Beginning-C-Through-Game-Programming/dp/1435457420/ref=sr_1_1?ie=UTF8&qid=1342624511&sr=8-1&keywords=beginning+c%2B%2B+game+programming

http://www.amazon.com/Python-Programming-Introduction-Computer-Science/dp/1590282418/ref=sr_1_2?s=books&ie=UTF8&qid=1342624588&sr=1-2&keywords=python+programming+an+introduction+to+computer+science


The first one will teach you the basis of C++ and the second one will give you a good basic introduction to python, which is a little easier to learn than C++. Start with python and then after a while the C++ book will seem to be more easy to pick up. I have read the two books my self and I learned a lot form them. They are true gems for beginners biggrin.png

"The only thing that interferes with my learning is my education"

Albert Einstein

"It is a miracle that curiosity survives formal education"

Albert Einstein

This topic is closed to new replies.

Advertisement