Absolute Beginner: How and Where to get these libraries? And other "?'s".

Started by
11 comments, last by 6677 11 years, 7 months ago
Hello, as the title says I am an absolute beginner to programming. I've just been studying C++ for a couple of days now. I can make the simple things, like the Hello World and making some basic math functions. Although I'm a beginner, I seem to really be a visual learner and learn from the actual code itself. I want to type in some code I find online to make some simple games. It would help me understand a lot, and help me further down the road. But boom, I don't have any of the right libraries yet!

After watching a tutorial on how to install allegro, I was still unsuccessful in getting it to work. I was using the Microsoft 2010 C++ Edition, but I got frustrated and uninstalled it :( haha. Now I'm using Code Blocks. For example, I'd like to type the stuff in from this guys tutorial on roguelike games and build it to actually see the code and game in action for myself. http://www.kathekonta.com/rlguide/about.html

But, I don't have that <console.h> library or whatever, so I can't do it. I feel like getting the libraries is tougher than actually learning some of the code -_____- haha.

So I have a few questions...

1) Is C++ still the right place for me to start? Or are most languages similar where you have to download all these libraries and such? (I'm not an expert with computers so I guess this is the area that i'm lacking in, like downloading the libraries, extracting them and what-not...). Many people have recommended python to other beginners; I seem to be doing alright with C++, but am I better off there?

2) If C++ is still an okay place to start, WHERE and HOW can I get these libraries to work with my code? Like the <console.h> and even allegro? Or should I try something else like SDL or SFML?

3) Any suggestions, tips, or recommendations for this beginner? I may look into getting a book too. Was thinking about that one by Dawson.

I'm sorry this is oh-so long... I really tried my best to trim it down! Thanks for all the help and suggestions in advance as well, I really appreciate it!
Advertisement
I would recommend that you start off with C# personally.

http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-csharp-express

C# allows for much higher productivity than C++ and offers a lot of functionality in its "base" library. XNA has a large community with many tutorials as well, so there is a wealth of knowledge to pull from.

Even though you've started off with C++, I would recommend making the switch to C# until you're almost intermediate level ( like 8-12 months of constant programming ) and then go explore some other languages.
Thank you for the advice!
Any other recommendations?
I'll second the suggestion of C# and XNA. The tools are freely available, and the language is a bit more beginner-friendly than C++. There are plenty of learning resources available. It's also a useful language to know -- C# is used a lot in non-games software development, and is also seeing an increased level of usage in hobbyist, independent and professional game development.

Ideally you'll want to spend at least a little time getting started with "the boring stuff" and just learning the basics of C#, and can then move on to working with XNA to create games.


To get started you will want to download Microsoft's Visual C# Express Edition, which is one of the best C# development environments available and is provided by Microsoft free of charge -- and yes, you are allowed to make money with the software you develop using it. You do need to register the product, but you won't be charged anything for doing so. Click the resources link (lower left of that page) to find some links to aid you in getting started; in particular you'll probably want to take a look through C# Fundamentals: Development For Absolute Beginners.

You might also try the freely available C# Yellow Book.

You can then move on to learning how to create games using XNA.


Hope that helps! smile.png

- Jason Astle-Adams

Yes, it helped a lot! Thanks for all your help. I'll definitely start with "the boring stuff" though to get a grasp on C# first. Thanks again!
C# is an excellent language. It would be nice to one day move onto C++ yes (although you should have console.h included with code blocks) but with the mono platform's popularity rising and the huge list of external .net libraries available I think we're approaching the point where you could launch a career in C# and never have to touch C++ (It is an aim for me to one day learn C anyway and then maybe C++).

I've played with XNA a little and can definately say that its a very straight forward tool (ignoring drag and drop game makers anyway) and the results are often excellent. Bastion and terraria are both getting quite popular and both were made in C# with XNA. A download link for XNA game studio is here: http://www.microsoft.com/en-us/download/details.aspx?id=23714 it will require you to have installed either VIsual Studio 2008, Visual Studio 2010 or one of the C# express editions for either although by the time you should consider looking at it you will already have one of those of course. Does remind me that I need to reinstall it on this machine, I wanna play some more :D



Visual studio provides a very nice drag and drop designer for windows forms applications and WPF applications, (basically applications that actually display a window on screen). Of course you still need to provide the code for what each form does (an individual window is often called a form) but it makes life so much easier for making them.
Thanks again! You guys have a lot of great info. I will definitely start off by looking more into C# and XNA. Thanks!

C# is an excellent language. It would be nice to one day move onto C++ yes (although you should have console.h included with code blocks) but with the mono platform's popularity rising and the huge list of external .net libraries available I think we're approaching the point where you could launch a career in C# and never have to touch C++ (It is an aim for me to one day learn C anyway and then maybe C++).


Hmm, saying you'd like to move onto C++ is similar to a tradesman saying he's moving on from bandsaws into circular saws.

Programming languages are things you add onto your toolbelt, there is little to no "progression" between languages in the traditional sense.

Programming languages are things you add onto your toolbelt, there is little to no "progression" between languages in the traditional sense.

While I agree with the sentiment I believe you're expressing, it is worth noting that learning additional languages -- especially if those languages share similarities -- is usually much easier after having learned a first language. Some beginners worry that time spent learning an initial language might be a waste of time if they're planning to learn another later, and it's worthwhile to remind them that many of the concepts that even the simplest language will expose them to -- variables, flow control, etc. -- are transferable.

- Jason Astle-Adams

This topic is closed to new replies.

Advertisement