Where to start programming

Associate
Joined
16 Nov 2011
Posts
1,526
Location
Nottingham
Hi. I'm an aspiring student currently in my first year of a games design course at college, and am hoping to then progress potentially to university and beyond. Programming has been a great interest of mine for a while now, but I don't have any experience with it nor know where to start. Over the next few years during my education I want to build some kind of personal portfolio of software/games for my own use. The trouble is I don't really know where to start building a portfolio and what I should be making to start out with and how to do it, so I need some help..
Any resources for tutorials will be appreciated. Of course I'm not limited to any specific languages but obviously something more simpler for starting out would be great
Thanks.
 
Man of Honour
Joined
15 Jan 2006
Posts
32,426
Location
Tosche Station
Programming has been a great interest for a while yet you have no experience in it :p?

When I first learned (computing and college)I was using pascal, making calculators. I have no idea if this helps :D
 
Man of Honour
Joined
13 Oct 2006
Posts
92,063
Depends what sort of games your thinking of programming for i.e. Android or other mobile stuff tends to be different languages used compared to most PC games, regardless you will probably need atleast a basic grounding in C of some variant even if you end up doing mostly java (yuck) development.
 
Soldato
Joined
6 Mar 2008
Posts
10,079
Location
Stoke area
Go to Codeacademy, study the PYTHON course, once you have a good grounding get pygame and go from there. Lots of free resources out there for python.

Other options would be HTML5 games or looking at a more common language such as C++ or Java.

However, it comes down to specifics as more than one language can be used in a game or a piece of software. What type of games do you want to develop? what platform do you want to develop on?

Games are great for fun but I wouldn't say there's a massive career in there tbh, too many gamers thinking it'd be a great job and then learning that 100 hour weeks months on end are not the glamorous life style they had envisaged. Much better looking at software solutions for problems.
 
Associate
Joined
9 Sep 2008
Posts
424
Location
York
Programming has been a great interest of mine for a while now, but I don't have any experience with it nor know where to start.

Learn Python first. It's a very good language for learning about the structure and praxis of programming. Once you've got that firm foundation, learning other languages becomes, if not easy, then a little less intimidating.
 
Soldato
Joined
18 Oct 2002
Posts
15,411
Location
The land of milk & beans
Python is a good place to start, although I'd imagine your game course will teach you Java.

If you want to get a head start, make sure you have a firm grasp of Object Oriented principles, and how to apply them when desigining your game.

Here's a good grounder from Oracle. It's based on Java, but the ideas are transferrable to any OO language.

*ninja*
Here's a more in-depth one on CodeProject, should you be feeling adventurous :)
 
Last edited:
Soldato
Joined
13 Feb 2003
Posts
6,157
If you're interested in games I would suggest you look into C++ and cinder. C++ is very accessible now since C++11 and cinder is a popular 'extension' for 3d, 2d and media.
 
Associate
OP
Joined
16 Nov 2011
Posts
1,526
Location
Nottingham
Hi. Thanks for the suggestions.
I just completed the first section for the Python language on Codecadamy and will continue on it tomorrow. Getting used to the whole variables/strings (basically all of the beginner stuff) and to be honest it's been quite fun even though I've not been doing anything too complex..

Are any of the books available on the internet of any use for beginners?
 
Soldato
Joined
8 May 2011
Posts
4,939
Location
HQ
I wouldn't bother with Codecademy. It won't teach you how to program. Get a book, do some tutorials and build something.

If you might want to do desktop and mobile gaming then Java isn't a bad choice. Otherwise C# & XNA Game Studio will get you entry to Xbox and Windows.
 
Associate
Joined
30 Oct 2013
Posts
6
Firstly, I would suggest you avoid any 'Game Design Degree'; it is barely worth the paper it is written on.

Second, I would agree wholeheartedly with the Python idea; it's a great language for beginners, and is brilliant for quickly hacking together programs. I would, however, suggest that if you want to do any large-scale projects, particularly games, you learn C, then move onto C++ (In that order, you'll end up a much better programmer).

Finally, I personally didn't bother with completing any of the more advanced tutorials; after learning the language basics, I would just set myself a project, such as an image downloader for a webpage, or a slideshow for my Raspberry Pi. You should the research how to do it, and learn lots along the way.

Good Luck!
 
Associate
OP
Joined
16 Nov 2011
Posts
1,526
Location
Nottingham
Firstly, I would suggest you avoid any 'Game Design Degree'; it is barely worth the paper it is written on.

Second, I would agree wholeheartedly with the Python idea; it's a great language for beginners, and is brilliant for quickly hacking together programs. I would, however, suggest that if you want to do any large-scale projects, particularly games, you learn C, then move onto C++ (In that order, you'll end up a much better programmer).

Finally, I personally didn't bother with completing any of the more advanced tutorials; after learning the language basics, I would just set myself a project, such as an image downloader for a webpage, or a slideshow for my Raspberry Pi. You should the research how to do it, and learn lots along the way.

Good Luck!
That's what I've been thinking. I think it'll be a lot more efficient if I could do a degree with something more broad so I'm not directly tied to games design and games design only, since I know it's a very saturated/competitive market for the lack of jobs within it.

The thing I'm really confused with, and it may sound silly, but how do I actually create programs and stuff with the language, like what tools do I need to make stuff? (like for example how you said you made an image downloader) and what types of things can I expect to creating? (I don't want to just be copying tutorials off of the internet cause I wouldn't really be learning effectively, after a while I'd like to develop something dependently when I have a good grasp of the language).

As far as games go, I think I'm going to stick with something like Unity and create some basic games (I think the main language for Unity is JavaScript) and just work up from there.

I really do want to go somewhere with it, but like I said at the minute I'm just confused at how everything works/is put together. Don't get me wrong, I've been interested in programming for quite a while, but I've never actually put the effort in to find anything out, and this is where I want to start.
 
Associate
Joined
14 May 2010
Posts
1,136
Location
Somerset
The thing I'm really confused with, and it may sound silly, but how do I actually create programs and stuff with the language, like what tools do I need to make stuff? (like for example how you said you made an image downloader) and what types of things can I expect to creating? (I don't want to just be copying tutorials off of the internet cause I wouldn't really be learning effectively, after a while I'd like to develop something dependently when I have a good grasp of the language).

If you're using a desktop or laptop then you've already got all the tools you need to start programming in javascript. Javascript is what's known as an 'interpreted language'. That means that you don't have to write some code and create a .exe file from it. Instead, the code you write runs directly in a program called an 'interpreter'. As luck would have it, modern web browsers work as an interpreter for javascript. That's how most web sites do fancy stuff instead of just showing plain web pages. For example, this forum has a load of javascript running in your browser right now, and the code files can be found in the html for this page, such as - http://forums.overclockers.co.uk/clientscript/vbulletin_menu.js (don't be put off because this file seems unreadable! It was originally written in a much more readable way, but things like spaces and line breaks would have been removed to cut down the size of the file to reduce the download size).

If you want to create .exe files, such as most windows programs, then these are generally made using a 'compiled language'. These are typically languages such as C++. In order to do this, you need to download a "compiler" for the language you are using. Compilers turn the code you've written into an executable. This is generally a one-way process - once you've compiled your program into a .exe file then it can't be turned back to code.

Traditionally, compilers are free to download. Many are bundled with other tools and released as a "integrated development environment" (or IDE). Along with the compiler, IDEs have other tools to help programmers, such as text editors designed specifically for programming, tools to help organise your code and tools to track down bugs. One of the more popular IDEs is Microsoft Visual Studio. A free version (called 'Express Edition') can be downloaded here - http://www.microsoft.com/visualstudio/eng/downloads#d-2013-express (you want the Windows Desktop version for creating .exe files).

Hope this helps :)
 
Last edited:
Associate
OP
Joined
16 Nov 2011
Posts
1,526
Location
Nottingham
If you're using a desktop or laptop then you've already got all the tools you need to start programming in javascript. Javascript is what's known as an 'interpreted language'. That means that you don't have to write some code and create a .exe file from it. Instead, the code you write runs directly in a program called an 'interpreter'. As luck would have it, modern web browsers work as an interpreter for javascript. That's how most web sites do fancy stuff instead of just showing plain web pages. For example, this forum has a load of javascript running in your browser right now, and the code files can be found in the html for this page, such as - http://forums.overclockers.co.uk/clientscript/vbulletin_menu.js (don't be put off because this file seems unreadable! It was originally written in a much more readable way, but things like spaces and line breaks would have been removed to cut down the size of the file to reduce the download size).

If you want to create .exe files, such as most windows programs, then these are generally made using a 'compiled language'. These are typically languages such as C++. In order to do this, you need to download a "compiler" for the language you are using. Compilers turn the code you've written into an executable. This is generally a one-way process - once you've compiled your program into a .exe file then it can't be turned back to code.

Traditionally, compilers are free to download. Many are bundled with other tools and released as a "integrated development environment" (or IDE). Along with the compiler, IDEs have other tools to help programmers, such as text editors designed specifically for programming, tools to help organise your code and tools to track down bugs. One of the more popular IDEs is Microsoft Visual Studio. A free version (called 'Express Edition') can be downloaded here - http://www.microsoft.com/visualstudio/eng/downloads#d-2013-express (you want the Windows Desktop version for creating .exe files).

Hope this helps :)
Thanks for the help.

So what would the entire process be for making a program and then how would you use it afterwards? I know it may seem like a stupid question but it's confusing for me :p How could other people use it and it have it's own interface etc? Is that something you'd have to design and then implement the program itself into it?
 
Last edited:

Pho

Pho

Soldato
Joined
18 Oct 2002
Posts
9,325
Location
Derbyshire
Firstly, I would suggest you avoid any 'Game Design Degree'; it is barely worth the paper it is written on.

I'm not saying this will happen to Deehjay but a friend of mine did a degree in Game Design and is now working as an AI designer for an AAA company in Canada.

Not fair :p.
 
Last edited:
Associate
Joined
14 May 2010
Posts
1,136
Location
Somerset
Thanks for the help.

So what would the entire process be for making a program and then how would you use it afterwards? I know it may seem like a stupid question but it's confusing for me :p How could other people use it and it have it's own interface etc? Is that something you'd have to design and then implement the program itself into it?

Let's take an example of a program you have on your PC (if your running Windows) - the Windows Calculator. You can run it up from the start menu from 'All Programs->Accessories'.

This program is a single file in your C:\Windows\System32\ folder called 'calc.exe'. If you wanted someone else to have a copy, then you could copy this file onto a memory stick and give it to them, or email it through to them, or zip it up and host it on a web site just like any other type of file.

When programming, you are creating .exe files. Therefore, in the same way you can just give other people a copy of the file to use.

The interface of the calc.exe file is all part of the program and created when you do the coding. Here's a video of someone creating a simple calculator using Visual Studio from scratch. It will let you see what needs to be done to get it up and running:

 
Associate
OP
Joined
16 Nov 2011
Posts
1,526
Location
Nottingham
Let's take an example of a program you have on your PC (if your running Windows) - the Windows Calculator. You can run it up from the start menu from 'All Programs->Accessories'.

This program is a single file in your C:\Windows\System32\ folder called 'calc.exe'. If you wanted someone else to have a copy, then you could copy this file onto a memory stick and give it to them, or email it through to them, or zip it up and host it on a web site just like any other type of file.

When programming, you are creating .exe files. Therefore, in the same way you can just give other people a copy of the file to use.

The interface of the calc.exe file is all part of the program and created when you do the coding. Here's a video of someone creating a simple calculator using Visual Studio from scratch. It will let you see what needs to be done to get it up and running:

Ok thanks, I get it now.

So do you think for starting out that I should just read some basic tutorials and get to grips with the language and then create some basic programs?

Edit: Also, just downloaded Visual Studio and I have one more question. When creating a new project, when would be the time when you create for instance a Visual Basic project, and when would you create a Visual C++ project?
 
Last edited:
Back
Top Bottom